如何知道在10个按钮中首次单击哪个按钮a

我正在Android中创建一个游戏,其中将有10个洗牌数字,用户必须记住,然后逐个点击1-10。 我想知道是否有任何function或方式在Android中知道哪个按钮是第一次点击,然后我可以这样设置值..thankyou。 我试图创建一个函数来计算点击的按钮数,然后增加它的值以匹配我的按钮:

码::

public void settingFirstPressedButton (int buttonPressed) { if (firstPressedButton == -1) //when firstPressedButton = -1 it means no button was pressed firstPressedButton = buttonPressed; } then: b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if(firstPressedButton==-1){ if(b1.getText()=="1"){ b1.setBackgroundColor(Color.GREEN); break; }} else { if(firstPressedButton==0){ if(b1.getText()=="2"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==1){ if(b1.getText()=="3"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==2){ if(b1.getText()=="4"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==3){ if(b1.getText()=="5"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==4){ if(b1.getText()=="6"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==5){ if(b1.getText()=="6"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==6){ if(b1.getText()=="7"){ b1.setBackgroundColor(Color.GREEN); break; } } else { if(firstPressedButton==7){ if(b1.getText()=="8"){ b1.setBackgroundColor(Color.GREEN); break; } else { if(firstPressedButton==8){ if(b1.getText()=="9"){ b1.setBackgroundColor(Color.GREEN); break; }} else { if(firstPressedButton==9){ if(b1.getText()=="10"){ b1.setBackgroundColor(Color.GREEN); break; 

您可以将自己的Activity用作OnClickListener 。 例如

 public class MyActivity extends Activity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); f1 =(Button) findViewById(R.id.f1); f2 =(Button) findViewById(R.id.f2); : : f1.setOnClickListener(this); f2.setOnClickListener(this); : : : } } 

你必须实现onClick方法并切换view.getId():

 @Override public void onClick(View v) { switch (v.getId()) { case R.id.f1: // your click action break; case R.id.f2: // your click action break; : : } } 

如果你想要一系列按钮

 Button btns[]=new Button[10]; for (int i = 0; i < 10; i++) { btns[i] = new Button(this); btns[i].setText(""+i); } 

如果你想让他们所有人做同样的事情,你可以使用for循环遍历数组,如下所示:

 for(int i = 0; i< btns.length; i++){ btns[i].setOnClickListener(new OnClickListener() { public void onClick(View v){ //do something Log.d("Button click","Value " + btns[i].getText() ; } }); }