Ошибка кнопки setonclicklistener - PullRequest
       6

Ошибка кнопки setonclicklistener

6 голосов
/ 23 августа 2010

У меня сейчас проблема с setOnClickListener.

Когда я добавляю следующую строку:

button.setOnClickListener(this);

И запускаю приложение, оно не запускается и показывает сообщениечто "Приложение закрыто принудительно".

Не могли бы вы помочь мне, как я могу установить событие нажатия кнопки в Android 2.2?

Ответы [ 6 ]

7 голосов
/ 23 августа 2010

Посмотрите, подходит ли вам приведенный ниже код ...

button.setOnClickListener(new OnClickListener() {              
  @Override
  public void onClick(View v) 
  {
      Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show();
  }    
});      

Не забудьте добавить }); в конце.

4 голосов
/ 15 августа 2012

Другая возможная причина (случилась со мной) - ваша деятельность должна быть реализована OnClickListener

public class MainActivity extends Activity implements OnClickListener ...
4 голосов
/ 23 августа 2010

Для определения события нажатия кнопки в Android, Вы можете попробовать следующий код:

public class Main_Activity extends Activity {


    private Button myButton;

    @Override
    public void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myButton = (Button) findViewById(R.id.Button01);
    myButton.setOnClickListener(new Button_Clicker());
}

class Button_Clicker implements Button.OnClickListener
{
    @Override
    public void onClick(View v) {

       if(v==myButton)
       {
                Toast.makeText(v.getContext(), "Hello!! button Clicked", Toast.LENGTH_SHORT).show();

       }    
}
}

}

2 голосов
/ 18 ноября 2012

Тип View.onClickListener вместо Button on ClickListener

2 голосов
/ 07 мая 2011

Хотя прошло много времени, хотя я думал, что это может помочь другим, у кого есть эта проблема, мне потребовалось много испытаний, чтобы решить ее.Но я думаю, что, наконец, моя проблема была решена путем установки атрибута clickable кнопки в xml макета на true.
Пример кода:

<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:clickable="true">
</Button>

Далее, если бы вы смотрели на перспективу DDMS, вы бы увидели, что причиной ошибки было NullPointerException, которое, конечно, показывало, потому что clickable не был установлен.Поправь меня, если я ошибаюсь.

0 голосов
/ 14 марта 2014

Проверьте, есть ли в определении класса implements OnClickListener

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...