2

私の最も重要な質問は次のとおりです。 Androidでは、定義されたメニューをナビゲートするときに Android の戻るボタンを押すのと同じ機能を持つ をPreferenceActivityどのように作成できますか? つまり、アプリのユーザーに、前のメニューに移動するメニュー選択「戻る」を明示的に表示するか、メニュー アクティビティから以前のアクティビティに移動することを希望します。特定のセッション。 OnClickListenerPreferenceScreenPreferenceActivity

Android開発者ドキュメントは私たちに教えてくれます

この XML リソースには、別のフラグメント (ここで実装されている Prefs1FragmentInner) を保持する設定画面が含まれていることに注意してください。これにより、ユーザーは設定の階層をたどることができます。戻るを押すと、スタックから各フラグメントがポップされ、前の設定に戻ります。

そして、彼らはそれについて正しいです。PreferenceScreen項目をクリックしてその画面に移動し、Android の [戻る] ボタンを使用してレベルを 1 つ上に戻ることで、メニューを楽しくナビゲートします。しかし、一般ユーザーが「戻る」ボタンを本当に理解しているかどうかはわかりません。開発者向けドキュメントでそれについて読むまでは理解していませんでした。だから、Androidの戻るボタンの機能を複製 する明示的にPreference定義されたメニュー選択を彼らに持たせたいと思います。OnClickListener

そこで、メニューに戻る設定を入れようとしました。単に呼び出すだけonBackPressedのサブクラスでオーバーライドされていないと判断したので、これを試しました:PreferenceActivityActivity.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に何を入れることができますか?

4

1 に答える 1

0

カジュアルなユーザーは、戻るボタンについて知っておくべきだと思います。ボタンはいたるところで使うので、初日は慣れるまで大変かもしれませんが、その後は自然です。「戻る」ボタンに慣れていないと、日常業務を行うことはほとんど想像できません。

追加したい設定は機能を複製するだけで、システムの残りの部分と一貫した方法を提供しません。Google がカジュアル ユーザーにとっては珍しいことであると考えていた場合、電話の設定にそのオプションを追加したことでしょう。これは PreferenceActivity でもあります。

于 2012-04-20T17:10:15.987 に答える