获取导致新活动的按钮ID - android

时间:2014-08-25 12:42:29

标签: android

我有5个Buttons,每个Button都有一个ID(我使用setId()为每个Button提供一个唯一ID。 Buttons所有ActivityIntent打开相同的Button。有没有办法可以传递被点击到新Activity的{​​{1}}的ID?

2 个答案:

答案 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);

稍后您可以从新活动的意图中获取此数据。