我在一个活动上有三个按钮_每个按钮点击它时启动activity_B,但我的问题是如何知道哪个按钮启动了活动_B?
更新:
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(LastDaysActivity.this);
prefs.edit().putString("Date1", btn1.getText().toString()).apply();
Intent i = new Intent(LastDaysActivity.this, TabHostActivityLastDays.class);
i.putExtra("button", "1");
startActivity(i);
}
});
活动B:
Toast.makeText(BatteryActivityLastDays.this, String.valueOf(my.getLastDaysValues(result1, 10)), Toast.LENGTH_SHORT).show();
String intent = this.getIntent().getStringExtra("button");
if (intent != null)
{
Toast.makeText(BatteryActivityLastDays.this , intent , Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:1)
可能有很多方法可以做到这一点,但最简单的方法就是发送extra
Intent
。
在发送类似的内容时,
Intent i = new Intent(..., ...); // obviously replace ... with the class and context
i.putExtra("button", "btn1");
startActivity(i);
并在接收课程
Intent intent = getIntent();
if (intent != null)
{
String clicked = intent.getStringExtra("button");
}
您也可以使用SharedPreferences,但根据您的需要,这可能有点过分。
答案 1 :(得分:0)
使用Intent附加功能。例如:
在onClick方法中:
Intent activityBIntent = new Intent(ActivityA.this, ActivityB.class);
activityBIntent.putExtra("button_clicked", 1);
startActivity(activityBIntent);
和activityB的onCreate方法:
Intent intent = getIntent();
if (intent != null){
int buttonId = intent.getIntExtra("button_clicked", 0);
}