включите клик кнопки - PullRequest
       2

включите клик кнопки

5 голосов
/ 15 марта 2012

У меня три кнопки

Button1 btn1 = (Button) findViewById(R.id.button1);
Button2 btn2 = (Button) findViewById(R.id.button2);
Button3 btn3 = (Button) findViewById(R.id.button3);

btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);

public void onClick(View v) {

switch(v){
 case bt1:
 //SOME CODE
 break;
 case bt2:
 //SOME CODE
 break;
 case bt3:
 //SOME CODE
 break;


}

Когда он добирается до коммутатора, он ломается, кто-нибудь может мне помочь? первый пост надеюсь все ок

Ответы [ 2 ]

5 голосов
/ 15 марта 2012
     public void onClick(View v) {

     switch(v.getId()){
     case R.id.button1:
     //SOME CODE
     break;
     case R.id.button2:
     //SOME CODE
     break;
     case R.id.button3:
     //SOME CODE
     break;
 }
  • Представление передается в onClick
  • Поэтому переключатель должен искать вид, а не имя кнопки.
5 голосов
/ 15 марта 2012

изменить на

    Button1 btn1 = (Button) findViewById(R.id.button1);
Button2 btn2 = (Button) findViewById(R.id.button2);
Button3 btn3 = (Button) findViewById(R.id.button3);

btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);

public void onClick(View v) {

switch(v.getId()){
 case R.id.button1:
 //SOME CODE
 break;
 case R.id.button2:
 //SOME CODE
 break;
 case R.id.button3:
 //SOME CODE
 break;


}
...