Android:相同 activity 不同的按钮,但不同的动作
Android: Same activity for different buttons, but different actions
我想知道是否有任何方法可以为不同的按钮调用相同的 activity,但对每个按钮执行不同的操作..
更具体一点。我有一个 activity,上面有大约 10 个按钮,如果我按传统方式这样做,每次按下一个按钮,我都必须为每个按钮创建一个 activity,结果,我将有超过 15 java 个文件..
所以,我想知道是否有任何方法,所有按钮都显示相同的 activity(这很容易,我将 "intent" 显示相同的 activity),但是在那上面activity,根据我按下的按钮,执行不同的操作..
例如,所有按钮显示在 Buttons.java,但内部存在一个 TextView 并且每次显示另一个文本,具体取决于我按下的按钮 -> Text1(对于 Button1)、Text2(对于 Button2)、Text3(对于 Button3)...
你有什么想法??谢谢!!
当你想启动它时,你可以传递一些信息给activity...例如:
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;
}
}
我想知道是否有任何方法可以为不同的按钮调用相同的 activity,但对每个按钮执行不同的操作..
更具体一点。我有一个 activity,上面有大约 10 个按钮,如果我按传统方式这样做,每次按下一个按钮,我都必须为每个按钮创建一个 activity,结果,我将有超过 15 java 个文件..
所以,我想知道是否有任何方法,所有按钮都显示相同的 activity(这很容易,我将 "intent" 显示相同的 activity),但是在那上面activity,根据我按下的按钮,执行不同的操作..
例如,所有按钮显示在 Buttons.java,但内部存在一个 TextView 并且每次显示另一个文本,具体取决于我按下的按钮 -> Text1(对于 Button1)、Text2(对于 Button2)、Text3(对于 Button3)...
你有什么想法??谢谢!!
当你想启动它时,你可以传递一些信息给activity...例如:
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;
}
}