Android:不同按钮的活动相同,但行动不同

时间:2017-01-22 11:24:33

标签: java android android-activity android-button

我想知道是否有办法为不同的按钮调用相同的活动,但为每个按钮做不同的事情。
更具体..我有一个约10个按钮的活动,如果我传统上这样做,每次按下按钮,我必须为每个按钮创建一个活动,因此,我将有超过15个java文件.. 所以,我想知道是否有任何方式,所有按钮,显示相同的活动(这很容易,我将“意图”显示相同的活动),但在该活动,取决于我按下的按钮,做不同的动作。
例如,Buttons.java上显示所有按钮,但内部存在TextView,每次显示另一个文本,具体取决于我按下的按钮 - > Text1(用于Button1),Text2(用于Button2),Text3(用于Button3)...

你有什么想法??谢谢!!

1 个答案:

答案 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;
    }
}
相关问题