Button我的布局XML文件中有16 秒(数字,加号,减号等).
我想知道如何检查按下了哪个按钮.
我的想法是,我将为每个按钮使用onClick()方法,但这种方法有点不切实际,因为我将有16个这样的onClick()方法每个按钮一个.
有更优雅的方式吗?
use*_*579 19
您可以在实现OnClickListener的单个类中处理它们,或者如果您愿意,可以在活动类中处理它们...
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用一个未定义为匿名内部类的处理程序,但是在单独的类中.onClick()将传入视图,您可以从中进行选择.
public class MyActivity implements OnClickListener {
public void onClick(View v) {
Button b = (Button)v;
// do what you want
}
...
}
Run Code Online (Sandbox Code Playgroud)
然后在你的layout.xml中为每个按钮添加
<Button android:id=".."
android:onClick="onClick"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21503 次 |
| 最近记录: |