1

次のコードを使用して、アクティビティを切り替えています。

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

このコードは完全に機能しますが、既存のアクティビティの上に新しいアクティビティを開始するようです。

: Android フォンでアプリケーションを起動し、メニュー ボタンを押してオプション メニューを画面に表示します。次に、「概要」をクリックして、アプリケーションの概要ページに移動します。次に、メニューの [閉じる] オプションを押すと、最初のページ (アプリケーションのホーム画面) が画面に表示され、アプリケーションをもう一度開いたときと同じように、すべてが四角形に戻ります。

このような動作をさせたくないので、どうすればこの問題を解決できますか?

前もって感謝します。

4

3 に答える 3

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);
    }
}

について.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);
    }
}
于 2012-04-05T05:43:57.427 に答える
0

コードを編集します。finish()を呼び出して、最初のアクティビティを破棄します。

Intent b = new Intent(nowActivity.this, About.class);
startActivity(b);
finish();
return true;
于 2012-04-05T04:20:30.567 に答える
0

ユーザーが「閉じる」ボタンをクリックしたときにホーム画面に戻るのはどうですか?

以下のコードは以下からの抜粋です: アクティビティからホーム画面に戻る方法

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
于 2012-04-05T04:28:45.203 に答える