Androidのアクティビティライフサイクルを理解していると思いますが、フォローインが起こっている理由をまだ理解できません。Androidのメニューがアクティビティ間で共有される(不要)
- ログイン活動 - ログイン画面
- 主な活動 - ログインアクティビティのメインアプリケーションインタフェース
は、私がログインを検証するためのサービスに接続します。パスワードが正しければ、私が使用して、メインの活動に切り替える:
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
ログイン活動にはオプションメニューがありません。これまでのところ
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option, menu);
return true;
}
とても良い: は、私は私が膨張する主な活動の[オプション]メニューを持っています。しかし、私はユーザーがログアウトしてログイン画面に戻ることができるようにしたい。 だからメインの活動で、私はログアウトできますメニューのオプションがあります:私はそのメニューボタンを押すと
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menuReset:
getModel().deleteCredentials // stuff to logout from my service
startActivity(new Intent(this, LoginActivity.class));
finish();
return true;
}
}
を、アプリケーションが表示され、再び活動をログインしてください。しかし、MENUキーを押すと、メインアクティビティのメニューが表示されなくても表示されます。
さらにホーム画面(HOMEを押す)に戻り、しばらくしてからアクティビティに戻ると、アプリケーションはログインアクティビティを表示しますが、MENUキーを押すとメインアプリケーションメニューが表示されます。
ログインアクティビティからメニューを削除するにはどうすればよいですか?
おかげ
相続の結果ですか? (例えば、 'class Login extends Main')。 –
それは賢明な質問です。 MyAbstractActivity(基本クラス)、LoginActivityはMyAbstractActivity、MainActivityはMyAbstractActivityを継承しています。私はMainActivityクラスのメニューを膨らませます。 – Marco83