在我的Activity
我有50个按钮,点击每个按钮我想启动相同的Activity
。
我想避免为每个按钮设置监听器和意图。 这样做有诀窍吗?
这是我只用于一个Button
的听众:
uno = (Button) findViewById(R.id.Button07);
uno.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent activityChangeIntent = new Intent(MainActivity.this, Interno.class);
MainActivity.this.startActivity(activityChangeIntent);
}
});
答案 0 :(得分:1)
您可以添加
<Button
...
android:onClick="onClick" />
在XML布局上,每个按钮。并在你的班级中有一个方法
public void onClick(View v)
{
}
答案 1 :(得分:0)
Button[] buttons = new Button[SIZE];
for(int i=0; i<some_value; i++) {
String buttonID = "btn" + i ; //THE ID OF YOUR BUTTON
int resID = getResources().getIdentifier(buttonID, "id", "com.sample.project"); //PLEASE CHANGE WITH YOUR PROJECT NAMESPACE
buttons[i] = ((Button) findViewById(resID));
buttons[i].setOnClickListener(this);
}
您可以循环覆盖按钮,按字符串名称查找并添加侦听器。这里的按钮存储在一个数组......
答案 2 :(得分:0)
在xml文件中的每个按钮对象上添加如下属性:
<Button android:onClick="clickMe" />
现在将此方法添加到Activity.java
块:
public void clickMe(View v){
//TODO something
}
祝你好运。