私はActionbarSherlockを使用していて、ホーム ボタンを有効にしたいと考えています。そのため、ベース アクティビティ
を呼び出します。setHomeButtonEnabled(true)
public class BaseFragmentActivity extends SherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.Theme_Sherlock);
super.onCreate(savedInstanceState);
getSupportActionBar().setHomeButtonEnabled(true); // Here
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: {
Intent intent = new Intent(this, HomeActivity.class);
// startActivity(intent);
// startActivityIfNeeded(intent, 0);
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
}
startActivity(intent)
またはを使用するstartActivityIfNeeded(intent, 0)
とHomeActivity
毎回再作成されます (アクティビティはマップをレンダリングし、再作成は面倒です)。
- アプリの階層を 1 ステップ戻すだけなので、呼び出し
finish()
たくありません。代わりに、私はいつもに戻りたいと思っていHomeActivity
ます。 - さらに、 ActionBar および setDisplayHomeAsUpEnabled()
AndroidManifest.xml
について説明されているように、動作を構成できれば便利です。 - に戻るときにバックスタックをクリアするのも常識かもしれません
HomeActivity
。それについてどう思いますか。