私はAndroidアプリで奇妙な問題に遭遇しました。私の主なアクティビティにはメニューボタンが付いています。問題は、メニューボタンが一度正しく機能することです。一度押すと、メニューボタンが再び機能する前にアプリを再起動する必要があります。Androidメニューはアプリの実行ごとに1回しか動作しません
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
startActivity(new Intent(this, PreferencesActivity.class));
return(super.onCreateOptionsMenu(menu));
}
@Override
public void onBackPressed() {
this.finish();
}
@Override
public void onDestroy() {
super.onDestroy();
this.finish();
}
@Override
public void onStop() {
super.onStop();
this.finish();
}
や好みの活動は、私はこの問題を解決する方法
public class PreferencesActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onStop() {
super.onStop();
this.finish();
}
@Override
public void onBackPressed() {
this.finish();
}
}
任意のアイデアを次のようになります。
(消毒)のコードはありますか?
TIA
これを拡張できますか? onPrepareOptionsMenuがどこにある必要があるのかはわかりません。 – user1174838
onCreateOptionsMenuの場合と同様に、アクティビティクラスのonPrepareOptionsMenuをオーバーライドする必要があります。あなたのコードを表示するために私の答えを更新しました。 – Thommy
が主な活動のために働いているように見えますが、子供の活動のためには働いていないようです。私が子アクティビティにいて、メニューボタンを押した後、戻るボタンを押すと、メインアクティビティに移動します。 – user1174838