点击按钮时更改操作栏标题

4

我有两个Activity:activity1和activity2,其中activity1有两个按钮button1和button2。当点击button1时,应该链接到activity2,并且在Action-bar中显示标题"am button1";当点击button2时,再次链接到activity2,应该在Action-bar中显示标题"am button2"。

  1. 当在activity1中点击button1时,应该通过intent的put-extra传递数据,并将activity2的action-bar标题更改为"am button1"。
  2. activity2应该从activity1接收数据,并进行相应的action-bar更改。

请帮助我完成这个操作,谢谢。

4个回答

5

Activity 1 类

public class ActivityOne extends Activity{

Button btnOne, btnTwo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    btnOne = (Button) findViewById(R.id.btnOne);
    btnOne.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
            intent.putExtra("title", "am Button1");
            startActivity(intent);

        }
    });

    btnTwo = (Button) findViewById(R.id.btnTwo);
    btnOne.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
            intent.putExtra("title", "am Button2");
            startActivity(intent);

        }
    });
}
}

ActivityTwo类

public class ActivityTwo extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    String title = intent.getStringExtra("title");

    getActionBar().setTitle(title);
}

}

2
这是您的解决方案。
活动1:点击任何按钮1。
Intent intent=new Intent(this,ActivityTwo.class);
intent.putExtra("title", "M button 1");
startActivity(intent);

活动 1:点击任何按钮 1

Intent intent=new Intent(this,ActivityTwo.class);
intent.putExtra("title", "M button 2");
startActivity(intent);

现在进行到第二个活动:
String title=getIntent().getStringExtra("title");
getActionBar().setTitle(title);

或者

String title=getIntent().getStringExtra("title");
getSupportActionBar().setTitle(title);

0

在第一个活动中

Intent mIntent;   
     @Override
            public void onClick(View v) {

                    mIntent = new Intent(FirstActivity.this,SecondActivity.class);
                    switch (v.getId()) {
                    case R.id.first_btn:
                        mIntent.putExtra("buttonClicked", "Am Button One");
                        break;
                    case R.id.second_btn:
                        mIntent.putExtra("buttonClicked", "Am Button Second ");
                        break;}
                        startActivity(mIntent);}

        //and in the second activity  write:
            private String mSelectedButton;
        @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_web_view);
                mSelectedButton = getIntent().getIntExtra("buttonClicked", "");
            }

然后使用变量mSelectedButton来设置标题


0
在清单文件中声明第二个活动时,将所需的名称设置为标签:
<activity
        android:name="your second activity"
        android:label="@string/your 2nd activity name" >
    </activity>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接