Проблемы с прослушивателем OnClick для пользовательского диалогового окна

#android

#Android

Вопрос:

Я пытаюсь написать пользовательское диалоговое окно, которое принимает имя от пользователя. Я получаю сообщение «OnClickListener не может быть преобразован в тип — метод setOnClickListener(Просмотр.OnClickListener) в представлении типа неприменим для аргументов (new OnClickListener(){})» ошибка в Eclipse. Кто-нибудь знает, что я делаю не так?

Вот мой код:

 public void getName(){

         Dialog dialog = new Dialog(main.this);
         dialog.setContentView(R.layout.customdialog);
         dialog.setTitle("New Game");
         dialog.setCancelable(true);
         //there are a lot of settings, for dialog, check them all out!
         final EditText inputBox = new EditText(this);

         //set up text
         final TextView text = (TextView) dialog.findViewById(R.id.TextView01);
         text.setText("Enter Your Name...");


         //set up button
         final Button button = (Button) dialog.findViewById(R.id.namebutton);
         button.setOnClickListener(new OnClickListener() {
         public void onClick() {
             String str = inputBox.getText().toString(); 
             setName(str);
             }
         });
         //now that the dialog is set up, it's time to show it    
         dialog.show();
     }
  

Ответ №1:

Возможно, вам просто нужно изменить это

 button.setOnClickListener(new OnClickListener() {
  

к этому

 button.setOnClickListener(new View.OnClickListener() {
  

РЕДАКТИРОВАТЬ — Чтобы как-то объединить наши ответы, также убедитесь, что вы импортируете правильный класс, как заявил Кристиан.

Ответ №2:

Я думаю, вы импортируете неправильно OnClickListener . Убедитесь, что у вас есть:

 import android.view.View.OnClickListener;
  

вместо

 import android.content.DialogInterface.OnClickListener;