我的布局XML文件中有16个Button(数字,加号,减号等)。

我想知道如何检查按下了哪个按钮。

我的想法是,我将为每个按钮使用onClick()方法,但是这种方法有点不切实际,因为我将为每个按钮使用16种onClick()方法。

有没有更优雅的方式?

最佳答案

您可以在实现OnClickListener的单个类中处理所有问题,也可以根据需要在 Activity 类中处理它们。

import android.view.View.OnClickListener;

   public class MyActivity extends Activity implements OnClickListener {

      @Override public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         Button buttonA = (Button) findViewById(R.id.buttonA);
         buttonA.setOnClickListener(this);
         Button buttonB = (Button) findViewById(R.id.buttonB);
         buttonB.setOnClickListener(this);
      }

   //etc... etc...

   public void onClick(View v) {

      switch (v.getId()) {
         case R.id.buttonA:
          // do something
          break;
         case R.id.buttonB:
          // do something else
          break;
      }
   }

}

10-08 13:46