我有5个Buttons
,每个Button
都有一个ID(我使用setId()
为每个Button
提供一个唯一ID。 Buttons
所有Activity
与Intent
打开相同的Button
。有没有办法可以传递被点击到新Activity
的{{1}}的ID?
答案 0 :(得分:5)
为什么不直接将Intent
作为额外内容添加?像这样:
Intent intent = new Intent(getActivity(), NewActivity.class);
intent.putExtra("button_id", button.getId());
startActivity(intent);
然后,您可以像这样检索新Activity
中的ID:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
int buttonId = intent.getIntExtra("button_id", 0);
...
}
答案 1 :(得分:0)
我只需将所需数据放入意图:
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(...);
intent.putExtra("id", v.getId());
startActivity(intent);
}
};
button1.setOnClickListener(listener);
button2.setOnClickListener(listener);
button3.setOnClickListener(listener);
稍后您可以从新活动的意图中获取此数据。