閱讀767 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Android 不能返回 parent Activity 的問題

使用 ActionBar,開啟返回按鈕:

在 Activity 的 onCreate 中添加下麵代碼

getSupportActionBar().setDisplayHomeAsUpEnabled(true);



這裏左側會多出一個返回的箭頭,點擊圖標後會觸發 click 事件:

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId()) {
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                break;
        }
        return super.onOptionsItemSelected(item);
    }

下一步,修改 androidManifest.xml 文件:

        <activity
            android:name=".ui.DiaryHotActivity"
            android:launchMode="singleTask"
            android:parentActivityName=".ui.DiaryLatestActivity"
            >
        </activity>

這裏的 parentActivityName 據說僅對4.0以後的才有效,在低版本上將會出現 IllegalArgumentException 異常:




需要在裏麵添加個 meta-data 配置進行兼容:

        <activity
            android:name=".ui.PassportActivity"
            android:label="@string/title_activity_login"
            android:launchMode="singleTask"
            >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".ui.MainActivity"
                />
        </activity>


大概就是這樣了,測試返回父 Activity 成功







最後更新:2017-04-03 12:55:39

  上一篇:go ORACLE 官方文檔
  下一篇:go 三層與Entity