home-界面返回上一级功能

1,这个主要是用在actionbar上home键,直接上代码

import android.view.MenuItem;

/* Vanzo:zhangshuli on: Mon, 23 Mar 2015 15:53:42 +0000
 */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            super.onBackPressed();
            return true;
        }   
        return super.onOptionsItemSelected(item);
    }   
// End of Vanzo: zhangshuli

2.不过,听别人说,更合理的是,直接在AndroidManifest.xml中,给你的activity添加一条属性

android:parentActivityName="com.example.helloworld.MainActivity" >

这样我们不用在代码中进行任何操作就可以了

如下

 <activity
        android:name=".activity.setup.AccountSetupType"
        android:label="@string/account_setup_account_type_title"
        android:parentActivityName=".activity.setup.AccountSetupBasics"
  >

但是,当我们这么写的时候,到应用中会报错,报错内容如下

at com.android.email.activity.setup.AccountSetupIncoming.onCreate(AccountSetupIncoming.java:70)

但是,按照网上给的解决方案,我添加了如下一条,就不会报错了

android:launchMode="singleTop"

原因不知道

另外,如果使用这个方法,你是不能确保完全回到第一个activity启动第二个activity状态的。如果想要原样返回,还是需要在代码中使用finish


原文地址:https://www.cnblogs.com/zhangshuli-1989/p/4360601.html