0

戻るボタンが正常に機能するという問題があります。ホームボタンを押さない限り、アプリケーションを再入力してから、もう一度戻るボタンを押してください。その後、(アクティビティの) タスク トレイルがないため、アプリを終了します。

これが私の同僚のコードで、修正しようとしています。Android.R.id.home は問題のあるソフト バック ボタンですが、OS のバック ボタンでも同じことが起こっています。

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Intent intent;
        switch (item.getItemId()) {
        case android.R.id.home:
            activity.finish();
            return true;
        case R.id.menu_paymentLocs:
            intent = new Intent(activity, PaymentLocationsPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_feedback:
            intent = new Intent(activity, FeedbackPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_about:
            intent = new Intent(activity, AboutPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_changeconsumer:
            new SelectConsumerDialogFragment().show(getFragmentManager(), "select_consumer");
            return true;
        case R.id.menu_logout:
            intent = new Intent(activity, SplashPage.class);
            myMeter.logout();
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            activity.startActivity(intent);
            return true;
        }
        return true;
    }
4

2 に答える 2

0

すべて削除するintent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);

于 2013-04-23T04:04:45.033 に答える
0

戻るボタンが定義済みの処理を行わないようにするには、onbackpressed()メソッドをオーバーライドする必要があります

APIレベル2.0以上を使用している場合は、これを試してください

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
于 2013-04-23T03:17:01.797 に答える