后退按钮去Android中的另一个Activity而不是父Activity

时间:2016-07-14 10:09:33

标签: android android-layout button back onbackpressed

我使用此代码创建了一个后退按钮

    getActionBar().setHomeButtonEnabled(true);
    getActionBar().setDisplayHomeAsUpEnabled(true);

以便用户回到父Activity。 但现在我希望用户回到另一个Activity(而不是父活动)。我怎么能这样做?

4 个答案:

答案 0 :(得分:2)

您必须覆盖活动中的onBackPressed()

@Override
public void onBackPressed()
{
    super.onBackPressed(); 
    startActivity(new Intent(ThisActivity.this, NextActivity.class));
    finish();

}
  

注意:在此代码中ThisActivity是您当前的活动,NextActivity是您在后退按钮上打开活动的点击。

答案 1 :(得分:2)

处理操作栏主页按钮按下事件并执行逻辑

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                case android.R.id.home:
                      // Your desired class
                       startActivity(new Intent(ThisActivity.this, NextActivity.class)); 
                    break;
                }
                return true;
        }

答案 2 :(得分:0)

试试这种方式,

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_file, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case android.R.id.home:

                Intent about = new Intent(MainActivity.this,Target.class);;
                startActivity(about);
                finish();

            return true;

        default:
            return super.onOptionsItemSelected(item);
    }

}
  

此处android.R.id.home请参阅ActionBar

中的后退图标

答案 3 :(得分:0)

在清单中添加此项,为您的活动名称修改

        <activity
            android:name="SecondActivity"
            android:parentActivityName="ParentActivity" >
            <!-- Parent activity meta-data to support 4.0 and lower -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.app_name.A" />
        </activity>

然后你应该在你的孩子或第二个活动中添加如下代码,不需要传递意图finish()当前活动如下

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case android.R.id.home:

                    Intent intent = new     Intent(SecondActivity.this,ParentActivity.class);
                    startActivity(about);
                    finish();
                return true;

            default:
                return super.onOptionsItemSelected(item);
        }