Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Одно событие onClick и несколько кнопок


Автор: Akella 4.8.2013, 20:08
Использую Android Studio. Например, есть три кнопки и один метод onClick.

Код

rl = (RelativeLayout)findViewById(R.id.relativeLayout);
tvHello = (TextView) this.findViewById(R.id.label_hello_kitty);

public void buttonRed_Click(View v){
        tvHello.setText(R.string.res_btn_Red);
        rl.setBackgroundResource(R.color.res_col_red);}


Как внутри buttonRed_Click узнать по какой кнопке щёлкнули?

Автор: Felan 5.8.2013, 22:48
См. http://startandroid.ru/ru/uroki/vse-uroki-spiskom/17-urok-10-optimiziruem-realizatsiju-obrabotchikov.html.

Там вообще хорошие уроки для начинающих.

Автор: XPyCT 24.10.2013, 09:11
по урокам StartAndroid

Код

//...
import android.view.View.OnClickListener;
//...
public class MainActivity extends Activity implements OnClickListener 
{
    TextView tvLabel1;
    Button btnOne;
    Button btnToo;

   @Override
   public void onCreate(Bundle savedInstanceState) 
   {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

    // найдем View-элементы
    tvLabel1 = (TextView) findViewById(R.id.tvLabel1);//tvLabel1 ид из XML
    btnOne = (Button) findViewById(R.id.btnOne);//btnOne ид из XML
    btnToo = (Button) findViewById(R.id.btnToo);//btnToo ид из XML

    // присваиваем обработчик кнопкам
     btnOne.setOnClickListener(this);
     btnToo.setOnClickListener(this);
   }
   @Override
   public void onClick(View v) 
   {
     // по id определеяем кнопку, вызвавшую этот обработчик
     switch (v.getId()) 
     {
     case R.id.btnOne:
       // кнопка btnOne
       tvLabel1.setText("Нажата кнопка btnOne");
       break;
     case R.id.btnToo:
       // кнопка btnToo
       tvLabel1.setText("Нажата кнопка btnToo");
       break;
     }
   }   
}


to Felan опс сорри не поглядел вашу сцылку

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)