从一项活动到另外两项活动

时间:2014-11-11 07:40:38

标签: android android-activity

一个Activity是否可能有另外两个人。我的意思是我有2个按钮用于两个父项活动 - Button 1Button 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

的活动3
    @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

的活动3
@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"); 
    }
}

1 个答案:

答案 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。