私の最も重要な質問は次のとおりです。 Androidでは、定義されたメニューをナビゲートするときに Android の戻るボタンを押すのと同じ機能を持つ をPreferenceActivity
どのように作成できますか? つまり、アプリのユーザーに、前のメニューに移動するメニュー選択「戻る」を明示的に表示するか、メニュー アクティビティから以前のアクティビティに移動することを希望します。特定のセッション。 OnClickListener
PreferenceScreen
PreferenceActivity
この XML リソースには、別のフラグメント (ここで実装されている Prefs1FragmentInner) を保持する設定画面が含まれていることに注意してください。これにより、ユーザーは設定の階層をたどることができます。戻るを押すと、スタックから各フラグメントがポップされ、前の設定に戻ります。
そして、彼らはそれについて正しいです。PreferenceScreen
項目をクリックしてその画面に移動し、Android の [戻る] ボタンを使用してレベルを 1 つ上に戻ることで、メニューを楽しくナビゲートします。しかし、一般ユーザーが「戻る」ボタンを本当に理解しているかどうかはわかりません。開発者向けドキュメントでそれについて読むまでは理解していませんでした。だから、Androidの戻るボタンの機能を複製 する明示的にPreference
定義されたメニュー選択を彼らに持たせたいと思います。OnClickListener
そこで、メニューに戻る設定を入れようとしました。単に呼び出すだけonBackPressed
のサブクラスでオーバーライドされていないと判断したので、これを試しました:PreferenceActivity
Activity.onBackPressed()
finish()
OnClickListener
private OnPreferenceClickListener clickFinishesSuccessfully = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
finish();
return true;
}
};
結局のところ、これは戻るボタンを押すのと同じことをしませんでした! PreferenceActivity
このボタンを押すと、常に から完全に抜け出し、Activity
自分の を呼び出した元の に戻りPreferenceActivity
ます。具体的には、クリックしたときの深さに関係なく、メニューをナビゲートしませんでした.
私はここで推測しています: 実際には である画面上の設定をクリックしてサブメニューにたどり着いたときPreferenceScreen
、私はもはや自分自身の ではありませんPreferenceActivity
. 他のアクティビティに参加している必要がありますか?
Preference
だから私の機能的な質問:メニューをナビゲートするAndroidの戻るボタンと同じ機能を得るために、「戻る」のOnClickListenerに何を入れることができますか?