OnClickListener не может быть преобразован в тип (Eclipse)

Привет, я новичок в программировании, я пытаюсь создать свое первое простое приложение, я хочу воспроизвести короткий звуковой клип по нажатию кнопки ImageButton.

при вводе кода я получаю сообщение об ошибке;

 Button.setOnClickListener(new OnClickListener() {

Прослушиватель щелчка подчеркнут, и когда я перехожу к ошибке, затмение сообщает мне, что OnClickListener не может быть разрешен к типу.

Вот мой код:

import android.app.Activity;
import android.os.Bundle;
import android.view.view;
import android.view.view.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;

public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

final ImageButton Button = (ImageButton) findViewById(R.id.imageButton1);
Button.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        // Perform action on clicks

    }
});

Я прочитал предложение, в котором говорилось добавить;

import android.view.view;

также как и

import android.view.view.OnClickListener;

Эти операторы импорта также выделены. Могут ли эти ошибки быть вызваны тем, как eclipse настроен на моем компьютере?

Любая помощь будет принята с благодарностью


person Ben    schedule 17.03.2011    source источник
comment
В моих приложениях с onClickListeners оператор импорта заглавными буквами ставит второе «представление» следующим образом: import android.view.View.OnClickListener; Однако я никогда не печатаю эти операторы импорта. В eclipse shift+ctrl+o добавит любой импорт, который вам нужен, и удалит все, что вам не нужно.   -  person FoamyGuy    schedule 18.03.2011
comment
удалите оператор импорта и позвольте eclipse добавить его для вас, щелкнув правой кнопкой мыши OnClickListener   -  person Nathan Schwermann    schedule 18.03.2011
comment
Имя вашего класса не может быть таким main Это должно быть заглавие типа Main   -  person Pankaj    schedule 06.06.2015


Ответы (6)


Для начала всегда лучше позволить Eclipse управлять всем импортом, нажав Ctrl+Shift+O, когда вы видите ошибку импорта.

Кажется, что ваша проблема связана с:

import android.view.view;

Что должно быть:

import android.view.View;

То же самое и с android.view.View.OnClickListener.

Если вы удалите две строки, которые вы добавили вручную, и нажмете Ctrl+Shift+O, все должно исправиться.

person Kasra Rahjerdi    schedule 17.03.2011
comment
Спасибо всем за ответы, проблема была решена путем сортировки моих заглавных букв, я попытался удалить ручной импорт, а затем нажать ctrl+shift+o, но на самом деле это удалило все, кроме импорта пакета и активности. - person Ben; 18.03.2011

Добавлять

import android.view.View.OnclickListener

в ваш раздел import, и он должен работать.

person zamil nizar    schedule 19.05.2013
comment
TYPO: в слове click должна быть заглавная буква C. - person Azurespot; 09.07.2014

Второе «представление» в операторе импорта — это класс (следовательно, OnClickListener — это внутренний класс/интерфейс) и должно быть написано с большой буквы:

import android.view.View.OnClickListener;
person antonyt    schedule 17.03.2011
comment
привет, @antonyt, пожалуйста, проверьте это, если вы можете stackoverflow.com/questions/5345470/ - person Faizal Munna; 27.03.2017

убедитесь, что ваш класс реализует OnClickListener

public class main extends Activity implements OnClickListener {
person Justin    schedule 18.03.2011

если у вас все еще есть ошибка, вы можете сделать класс абстрактным, как этот общедоступный абстрактный класс. MainActivity extends Activity реализует OnClickListener {

person Mohamud    schedule 09.09.2013

Если вы используете новую Android Studio, вы должны объявить свой новый OnClickListener как View.OnClickListener. В противном случае Android Studio запутается и не поймет.

person vthg2themax    schedule 10.12.2013