2017-01-14 8 views
3

Я пытаюсь добавить Ok button следуя пост и попытался этот код, но как-то он показывает мне ошибкуДобавление окна сообщения с Ok кнопки внутри onCLickListener()

Builder (android.content.Context) in builder cannot be applied to (anonymous android.view.View.onClickListener)

Вот мой код

submit.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      if (Arrays.asList(input).contains("")){ 
       AlertDialog.Builder alert = new AlertDialog.Builder(this); 
       alert.setMessage("You still have unanswered questions. Please go back"); 
       alert.setTitle("Notice"); 
       alert.setPositiveButton("OK", 
         new DialogInterface.OnClickListener(){ 
          public void onClick(DialogInterface dialog, int which){ 

          } 
         }); 
      }else { 
       Intent in = new Intent(getApplicationContext(),gcfResult.class); 
       startActivity(in); 


      } 
     } 
    }); 

ошибка на this ключевое слово в строке ниже

AlertDialog.Builder alert = new AlertDialog.Builder(this); 
+1

этой ссылки на View.onClickListener вы, вероятно, используя этот код активности позволяет говорить MyActivity вы должны создать построитель вроде этого «new AlertDialog.Builder (MyActivity.this)» – Farid

ответ

2

вам нужно использовать

AlertDialog.Builder alert = new AlertDialog.Builder(YourActivityname.this); 

потому new View.OnClickListener() { это анонимный класс и this здесь указывает на anonymous класса не ваши Activity

+1

Исправлена ​​ошибка. Спасибо – desperateStudent

+0

@desperateStudent Я рад, что могу помочь, счастливое кодирование –

 Смежные вопросы

  • Нет связанных вопросов^_^