2012-04-05 7 views
1

を押した後、私は活動を切り替えるために、次のコードを使用していますもう一度起動しないでください既存の活動の上には、アプリケーションが「閉じる」

:私はAndroid携帯でアプリケーションを起動し、メニューボタンを押してオプションメニューを画面に表示します。その後、「About(情報)」をクリックして、アプリケーションの詳細ページに移動します。メニューの「閉じる」オプションを押すと、最初のページ(アプリケーションのホーム画面)が画面に表示され、もう一度アプリケーションを開くようにすべてが正方形1に戻ります。

私はこのような行動を望んでいません。私はあなたに今質問します。どうすればこの問題を解決できますか?

ありがとうございます。

+0

閉じるボタンの上に私の後に終了します – Nishant

+0

アプリケーションをクリックした後、あなたが望むものをクリアしていません「閉じる」ボタンを押しています。あなたが知っている意味がある – Erik

+0

アクティビティを1回だけ実行したいですか? – Bhavin

答えて

1

次のコードは、から取られます!ここソリューションです:

nowActivity.java

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.menuItem1: 
     Toast.makeText(this, "Du är redan på startsidan", Toast.LENGTH_SHORT).show(); 
     return false; 

    case R.id.menuItem2: 
     Intent b = new Intent(nowActivity.this, About.class); 
     b.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(b); 
     return true; 

    case R.id.menuItem3: 
     android.os.Process.killProcess(android.os.Process.myPid()); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

About.java

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.menuItem1: 
     Intent a = new Intent(About.this, nowActivity.class); 
     a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(a); 
     return true; 

    case R.id.menuItem2: 
     Toast.makeText(this, "Du är redan på \"Om\"-sidan", Toast.LENGTH_SHORT).show(); 
     return false; 

    case R.id.menuItem3: 
     Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.addCategory(Intent.CATEGORY_HOME); 
     startActivity(intent); 
     System.exit(0); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 
0

編集あなたのコード:フィニッシュ()を呼び出して最初のアクティビティ

Intent b = new Intent(nowActivity.this, About.class); 
startActivity(b); 
finish(); 
return true; 
+0

ありがとうございますが、私は新しいアクティビティに切り替える際にアクティビティを閉じたくありません。私が電話で戻るボタンを押すと、アプリケーションはワンステップ(「About」から「Home」など)に戻ります。もう一度同じボタンを押すと、「閉じる」を選択しない限り、アプリケーションは終了します。 – Erik

+0

これをチェックアウトhttp://stackoverflow.com/questions/2042222/close-application – Nishant

+0

ありがとう:)それらの答えはちょっときちんとしていたが、私のコメントhopiaの答えを参照してください。 – Erik

0

を破壊する方法、ユーザがあなたの「閉じる」ボタンをクリックすると、ホーム画面に戻って行くのでしょうか?私はそれが働いて得た How to return to home screen from Activity

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
startActivity(intent); 
+0

ありがとう!それが私の問題を少し解決しました。私が電話機の「戻る」ボタンを押すと、アプリケーションが「ホーム」に戻っても、アプリケーションは終了します。 – Erik

関連する問題