1

TabHostを使用してアプリケーションを開発しています。各タブのActivityGroup内のonBackPressed()メソッドをオーバーライドすることにより、Androidのデフォルトの戻るボタンを使用して現在のアクティビティから前のアクティビティに戻ります。

さて、問題は、私のアクティビティの1つに、アクティビティの開始時にフォーカスされるEditTextがあります。次に、戻ると、前のアクティビティに移動せず、代わりにアプリケーションを閉じます。インターネットで問題について検索すると、アクティビティのビューの子ビューであるEditTextがフォーカスされると、アクティビティが失われ、戻るボタンが押されると、現在のアクティビティにフォーカスがないため、応用。それでも私は少し混乱しているか、問題についてはっきりしていないと言うことができます。

だから、とにかく、私はコードを使用して実行時にEditTextのフォーカスを設定および削除することができました。しかし、今でも、EditTextにはフォーカスがないため、戻るボタンを押すと、アプリケーションが閉じます。私は実際に何が起こっているのか本当に混乱しています。したがって、誰かが問題について何かアイデアや解決策を持っている場合は、問題について助けてください。大変感謝しております。ありがとう。

4

3 に答える 3

1

EditTextにキーリスナーを追加することで、この動作をオーバーライドできます。これを試してみてください、

    name_edit.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_DOWN
                    && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
                Log.i("Back event Trigered", "Back event");
                activitygroup.back();
            }
            return false;
        }
    });
于 2012-01-11T13:10:44.047 に答える
0

これを試して..

@Override
    public void onBackPressed() {
        onKeyDown(KeyEvent.KEYCODE_BACK, new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK));
        super.onBackPressed();
    }
于 2012-01-11T13:06:27.950 に答える
-1

これを試して

 public void onBackPressed() {

      startActivity(new Intent(currentActivity.this, previousActivity.class));
        finish();
    }
于 2012-01-11T13:50:18.373 に答える