2015年8月5日 星期三

[Android] ActionBar 顯示返回鍵 homeAsUp

先在 AndroidManifest.xml 設定 activity 關係:

<application ...>
    <activity android:name=".MainActivity" ...>
    </activity>
    <activity android:name=".SecondActivity"
              android:parentActivityName=".MainActivity" ...>
    </activity>
</application>
在 Activity 設定:
@Override
protected void onCreate(Bundle savedInstanceState) {
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
}



網路上的方法不需要添加:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.home:
        finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}
經過測試,id 既不是 R.id.home,也不是 R.id.homeAsUp, 應該是透過 AndroidManifest.xml 綁定 parent id。



前面返回時,是重建 Intent 轉回去呼叫 MainActivity#onCreate(),所以資料會都丟掉。 避免這種情況可以複寫這個方法:

@Override
public Intent getSupportParentActivityIntent() {
    finish();
    return null;
}

參考資料:

Android Studio 1.3
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"

    com.android.support:appcompat-v7:22.2.+

沒有留言:

張貼留言

[Java] Invalid HTTP method: PATCH

最近系統需要使用 Netty4,所以把衝突的 Netty3 拆掉,然後就出現了例外。 pom.xml <dependency> <groupId>com.ning</groupId> <artifactId>as...