我想知道是否有办法为不同的按钮调用相同的活动,但为每个按钮做不同的事情。
更具体..我有一个约10个按钮的活动,如果我传统上这样做,每次按下按钮,我必须为每个按钮创建一个活动,因此,我将有超过15个java文件..
所以,我想知道是否有任何方式,所有按钮,显示相同的活动(这很容易,我将“意图”显示相同的活动),但在该活动,取决于我按下的按钮,做不同的动作。
例如,Buttons.java上显示所有按钮,但内部存在TextView,每次显示另一个文本,具体取决于我按下的按钮 - > Text1(用于Button1),Text2(用于Button2),Text3(用于Button3)...
你有什么想法??谢谢!!
答案 0 :(得分:2)
您可以在想要启动时将一些信息传递给活动...例如:
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getContext(), ExampleActivity.class);
//There is no limit for number of Extras you want to pass to activity
intent.putExtra("buttonNumber", 1);
startActivity(intent);
}
});
ExampleActivity.java
public class ExampleActivity extends Activity {
int pressedButtonNumber;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_poll);
pressedButtonNumber = getIntent().getExtras().getInt("buttonNumber");
switch(pressedButtonNumber){
case 1:
//Do Something for clicking button 1 scenario
break;
}
}