一个Activity
是否可能有另外两个人。我的意思是我有2个按钮用于两个父项活动 - Button 1
和Button 2
。当我点击Button 1
时,它会打开activity 1
,其中还有activity 2
。当我点击Button 2
时,它会像activity 1
一样打开Button 1
,这就是问题所在。我希望按钮2的第3个活动不同。目前它打开第3个活动,它位于按钮1上。我将尝试说明它
Button 1(Activity 1) -> listView (Activity 2) -> TextView (Activity 3)
Button 2(Activity 1) -> listView (Activity 2) -> TextView (Activity 3) <- this must be different from above activity 3
我对两个菜单按钮都使用相同的Activity 2,然后两个活动3必须不同。我可以看到这个问题来自哪里。因为按钮2上的第二个活动是按钮1上的第二个活动。但我不想进行另一个活动并加载相同的内容并重复代码/活动。或者我应该? 更新:
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
intent.putExtra("button", "button1");
startActivity(intent);
}
});
Button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
intent.putExtra("button", "button2");
startActivity(intent);
}
});
以下是button1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act3);
Bundle b = getIntent().getExtras();
if (b != null) {
String button = b.getString("button");
}
}
以下是button2
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act3_1);
Bundle b = getIntent().getExtras();
if (b != null) {
String button = b.getString("button");
}
}
答案 0 :(得分:2)
将此选项用于按钮1 onCLick
:
intent.putExtra("button", "button1");
对于按钮2 onCLick
:
intent.putExtra("button", "button2");
将该值从Activity
1传递到Activity
3,再传递到Activity
2。
在Activity
3&#39; onCreate
中,使用:
Bundle b = getIntent().getExtras();
if(b != null)
String btn = b.getString("button");
您可以使用此String
来了解它是来自button1还是button2。