0

私はInputMethodService、基本的にはソフトキーボードを作成しており、そこから別のアクティビティを開始します。

class Foo extends InputMethodService {
    // ...
    private void startNewActivity() {
        Intent i = new Intent(this, NewActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(i);
    }
    // ...
}

しかし、私がこれを行うと、ユーザーは入力の過程になります。たとえば、ユーザーが'a'キーを押して新しいアクティビティを開始します。ユーザーが新しいアクティビティを終了したときに、入力に戻してキーボードを元に戻す方法はありますか?

4

1 に答える 1

1

onPause()入力しているアプリケーションと関連するメソッドの間に入力したデータを保存するのは、アプリケーションです。次に、アプリはで状態を復元する必要がありonResume()ます。これらはどちらもキーボードで制御できないことに注意してください。

(開始するアクティビティの性質に応じて)実行できる可能性のあることの1つは、アクティビティをダイアログにすることです。次に、現在のアクティビティの上に表示され、ダイアログを閉じると(戻るボタンを押すか、呼び出すとfinish())、すべてが元の状態に戻ります。

于 2012-04-09T21:50:33.803 に答える