問題タブ [preferencefragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1474 参照

android - 内部の PreferenceScreen が閉じられたことを検出する方法

Users別の PreferenceScreen (と呼ぶ) 内に内部 PreferenceScreen (と呼ぶ)がありMainます。
タップUsersすると新しい画面が開き、そこで設定を変更できます (多くのチェックボックス)。この画面が閉じられたとき、およびPreferenceScreen
に戻ったときを検出 (コールバックを起動) したいと考えています。 私が見つけた唯一の方法は、PreferenceScreen を継承してオーバーロードする新しいクラスを作成することですMain
onPrepareForRemoval

それを行うためのより簡単な方法があるかどうか疑問に思っていました。

0 投票する
3 に答える
7702 参照

android - サブスクリーン設定の actionBar にアップボタンを表示する

公式ガイドラインに示されているように、設定を実装しました。

次のような PreferenceFragment を作成する PreferenceActivity があります。

PreferenceFragment はリソースから設定をロードし、次のような設定サブスクリーンを含みます。

up-Buttonこれはこれまでのところうまくいきますが、設定サブスクリーンが表示されているときにアクションバーにを入れたいと思います。それを達成する方法はありますか?

アクティビティに設定しようとしsetDisplayHomeAsUpEnabled(true)ましたが、アップボタンはメインの設定 (表示されるべきではない場所) にのみ表示され、サブ画面には表示されません。

公式ドキュメントでさえ、アクティブなアップボタンなしでサブスクリーンが表示されていることを疑問に思っています: サブ画面の設定

ドキュメントへのリンク:設定

どんな助けでも大歓迎です

0 投票する
1 に答える
632 参照

android - PreferenceFragment の Android 単体テスト

テストする必要があるいくつかの PreferenceFragment クラスがあります。

それらをテストするにはどうすればよいですか?

たとえば、私はしようとしました:

ただし、この Android テスト クラスではパラメーターが Activity から継承する必要があるため、これは失敗します。また、PreferenceFragment は Fragment (Activity によって使用される) を継承します。

何を提案できますか?

0 投票する
1 に答える
1818 参照

android - PreferenceFragment の設定が更新されない

PreferenceFragment (actionBar の一部) をロードするメイン アクティビティがあります。

PreferenceFragment 内で、XML ファイルから設定を読み込みます。

問題は、タブを変更した場合 (ActionBar によって管理されていることを思い出してください)、別のフラグメントの設定の 1 つを変更し、preferenceFragment に戻って更新されないことです。特に問題は、さまざまなフラグメントから、さらにはリモート呼び出しによっても変更できる SwitchPreference(true/false) です (その後、共有設定で設定が変更されます。はい、変更をコミットしました)。

さまざまな解決策を探しましたが、正直なところ、うまくいくものは見つかりませんでした。私自身の考えは次のとおりです。

スイッチの Switch 要素を取得できれば問題は解決するので、 onStart() または onResume() メソッドでスイッチを true に設定できます。しかし、Switch オブジェクトを取得するための変更はありますか? 通常のレイアウトをロードすると、次のようにスイッチにアクセスできます。

その後、次のようにスイッチの位置を設定できます。

別の解決策は、実際のビューを破棄して addPreferencesFromResource() を再度呼び出すことですが、正直なところ、これを行う方法がわかりません....

3 番目の解決策は、PreferenceFragment で OnCheckedChangeListener を使用することですが、やはり問題はスイッチを変更/更新する方法です。

サービスの 1 つで OnSharedPreferenceChangeListener を実行していて、この問題をデバッグするために、リスナーに switchPreference のステータスを記録させたので、Preference が正しく更新されていると確信しています。

どうにかして助けてくれませんか?


残念ながら、明日の朝までに自分の質問に答えることができないので、質問を編集します。

ありがとうございます。基になるアクティビティを再開したくはありませんが、フラグメントのみを再開します。

幸いなことに、このスレッドで手がかりを見つけました: How do you refresh the PreferenceActivity to show changes in settings?

本当に簡単に SwitchPreference にアクセスできます。私の解決策は次のとおりです。

このようにして、Preference を SwitchPreference にキャストし、onStart() 呼び出しのたびに変更するだけです。これが私の問題に対する最良の解決策だと思います。

うまくいけば、この答えが将来誰かの時間を節約するでしょう =) ありがとうございました!

0 投票する
1 に答える
114 参照

android - PreferenceFragment はコンパイルしますが、私のプログラムは動作しません。何か問題でもありますか ?例外コードはこちら

0 投票する
1 に答える
1208 参照

android - xmlなしでフォームフィールドをpreferencefragmentに動的に追加するAndroid

フォーム フィールドを事前定義したリソースをpreferencefragment使用する代わりに、動的に作成された設定を に追加する方法を示す非推奨 (HONEYCOMB+) の例が見つからないようです。xml

具体的には、電話とペアリングされた Bluetooth デバイスのチェックボックスのリストを作成しようとしています。を使用しmBluetoothAdapter.getBondedDevices()、おそらくCheckBoxPreference.

アドバイスをいただければ幸いです。

0 投票する
2 に答える
4040 参照

android - 設定フラグメントからビューを取得できません

次の設定フラグメント xml があります。

そして、私が上で指している私のサウンドスイッチwidgetLayout:

私の問題は、onClickListener をアタッチできるように、コードでスイッチを取得する必要があることです。

Preference Activity でビューを見つけようとしました:

私も自分のフラグメントで試しました:

設定画面に配置したスイッチにプログラムでアクセスするにはどうすればよいですか?

編集: SwitchPreference を使用していない理由について質問がありました。基本的に、スイッチでサウンドのオン/オフを切り替えられるようにしたいだけでなく、設定 (スイッチではなくタイトル) をクリックすると新しい PreferenceScreen に切り替えられるようにしたいと考えています。SwitchPreference を使用しようとしましたが、テキストをクリックすると、スイッチが切り替わり、単に PreferenceScreen に送信されるのではなく、PreferenceScreen に送信されます。

メイン設定でwifiの動作を模倣しようとしています。IE では、トップ レベルからスイッチをオン/オフできますが、テキストをクリックしてより詳細な画面にアクセスすることもできます。