私のPreferenceActivityは、1つのことを除いて素晴らしいです。他のすべてのアクティビティで以前のアクティビティに完全に戻るActionBarアイコンは、PreferenceActivityでは機能しません。アイコンをクリックすると、前のアクティビティに戻りますが、PreferenceActivityは画面上にとどまるように点滅します。興味深いことに、戻るボタンは、ユーザを以前のアクティビティに戻します。 PreferenceActivityでActionBarのホームアイコンを「正常に」動作させる方法はありますか?あなたにPreferenceActivityアクションバーのホームアイコンがホームに戻らない(ETとは異なり)
public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set actionBar controls for Settings
TextView actionBarTitle = (TextView) findViewById(Resources.getSystem().getIdentifier("action_bar_title", "id", "android"));
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setIcon(R.drawable.ic_launcher);
actionBar.setDisplayShowTitleEnabled(true);
actionBarTitle.setTextColor(Color.WHITE);
actionBarTitle.setTextSize(16);
actionBar.setTitle(R.string.settings_menu_title);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //Build.VERSION_CODES.ICE_CREAM_SANDWICH
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true); // show back arrow on title icon
actionBar.setDisplayShowHomeEnabled(true);
}
...... Handle prefs (all working fine).....
}
}
//////そして、呼び出し元のコード////////
//Use menu button to access settings screen
@Override
public boolean onKeyDown(int keycode, KeyEvent e) {
switch(keycode) {
case KeyEvent.KEYCODE_MENU:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
}
return super.onKeyDown(keycode, e);
} // [END onKeyDown (for menu click capture) ]
+1どうgetActionBarあなたのonCreateで()の仕事は、あなたがPreferenceActivityから拡張しているかどう – Simon
におけるETの参照をこっそりよりも何のためならば? –