問題タブ [listpreference]

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 投票する
2 に答える
5785 参照

android - Android listpreference - 値の取得

私は持っていlistpreferenceます。ここでコードをどのようにコピーしても、間違っているように見えるので、問題をコピーするだけです。

preferences.xmllistpreference 部分に次のコードがあります。

そして、これは私が選択したアイテムを取得したいコードです:

問題は、アイテムではなく値を返すことです。したがって、メルセデスを選択すると、得られる値は「car1」です。

どうすれば「メルセデス」を入手できますか?

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

android - ListPreference - カスタム項目は可能ですか?

テキストと一緒に ListPreference の特定のエントリに画像/アイコンを追加しようとしています。

これをプログラムで実現したいと思います

以下は、preferences.xml の抜粋です。

ここでの目標は、リストされているオプションの一部が現在のバージョンのアプリでは使用できない/ロックされていることを示すことです。ただし、コードベースはライブラリとして使用されるため、xml ではなくコードを介してソリューションを機能させたいと考えています。

これを行う方法はありますか?ありがとう。

0 投票する
7 に答える
7193 参照

android - カスタムPreferenceクラスでsetDefaultValue()を呼び出しても、デフォルト値は設定されません。なんで?

PreferenceActivity設定画面を拡張しています。このプリファレンスアクティビティでは、いくつかのプリファレンスがあり、そのうちの1つはカスタムメイドです。問題は次のとおりです。

このカスタム設定(から拡張ListPreference)では、デフォルト値を設定できるようにしたいので、メソッドをオーバーライドしますsetDefaultValue()。この方法では、正しい値を取得するように解析を行います。関数でこの値を読み取ろうとすると、getValue()が返されますnull

そこで、ハードコードされた値をそこに入れるとどうなるかを考えました(おそらく、何か間違ったことをしたのは初めてではないでしょう)。まあ、私はまだnull戻ってきます。

私が間違っていることについて何か考えはありますか?

編集:
値は取得するまでわからないため、xmlファイルでdefaultValueを設定することは実際にはオプションではありません。

私は回避策を作成しました:

  • アプリを初めて起動するとき:データを取得する
  • プリファレンスで値を設定します。

このようにして、データを収集するときにデフォルトの設定を設定します

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

java - Android SDK の listpreference に JSON 配列を (API から) 追加する

json API (xml でも可能) から取得したリストを listpreference に入れる必要があります。
誰でもその方法をできるだけ詳しく説明してもらえますか?
API からの出力例:

私はすでにそれを取得する必要があるコード:

私が必要とするのは、JSonarray を listpreference の適切な形式に変換し、この関数を配列に追加する方法です。

至急助けてください

前もって感謝します

ps: エントリとエントリ値の両方がここで取得した配列である必要があるため、マッピングなどは必要ありません

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

android - ListPreferenceダイアログを選択すると、ステータスバーが不適切に表示されます

これを試して:

1)フルスクリーンテーマを使用するようにマニフェストを設定します(これにより、ステータスバーが非表示になります)

2)ネストされた設定アクティビティのセットを作成し、最も内側のアクティビティでListPreferenceダイアログを開きます。

このダイアログを開くと、ステータスバーが一時的に再表示され、デバイスの向きを変更すると永続的に再表示されます。

これは正当なAndroidのバグですか?ListPreference自体が使用するテーマをオーバーライドする方法はありますか?(関連する?

0 投票する
11 に答える
52806 参照

java - ListPreference のデフォルト値を設定する方法

アクティビティの開始時に ListPreference のデフォルト値を設定する必要があります。試してみましListPreference.setDefaultvalue("value");たが、リストの最初のエントリがデフォルトになります。条件を確認し、その条件を満たす値をデフォルトとして設定する必要があるため必要なので、xmlファイルからはできないと思います(with android:defaultValue

たとえば、arrays.xml に次の値の配列があるとします。

PreferenceScreen xml で:

アクティビティでは、次のようなことをしたいと思います:

しかし、デフォルトで最初の選択を行うため、機能しません。別のものをデフォルトにする方法を教えてください。ありがとう。

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

android - PreferenceScreen 内の ListPreference を取得する

PreferenceScreen 内で ListPreference を取得するにはどうすればよいですか?

私は次のことを試しましたが、どちらも null 例外をスローします。

findPreference(key) getPreferenceScreen().findPreference(key)

}

03-15 17:50:42.250: エラー/AndroidRuntime(441): 致命的な例外: メイン 03-15 17:50:42.250: エラー/AndroidRuntime(441): java.lang.RuntimeException: アクティビティ ComponentInfo{com を開始できません。 feral.widget/com.feral.widget.Prefs}: java.lang.NullPointerException 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622) で 03 -15 17:50:42.250: エラー/AndroidRuntime(441): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app で.ActivityThread.access$1500(ActivityThread.java:117) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app.ActivityThread$H.handleMessage(ActivityThread.java:928) 03-15 17: 50:42.250: エラー/AndroidRuntime(441): android.os.Handler で。dispatchMessage(Handler.java:99) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.os.Looper.loop(Looper.java:123) 03-15 17:50:42.250: エラー/ AndroidRuntime(441): android.app.ActivityThread.main(ActivityThread.java:3647) 03-15 17:50:42.250: エラー/AndroidRuntime(441): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で03-15 17:50:42.250: エラー/AndroidRuntime(441): java.lang.reflect.Method.invoke(Method.java:507) で 03-15 17:50:42.250: エラー/AndroidRuntime(441): でcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-15 17:50:42.250: エラー/AndroidRuntime(441): com.android.internal.os.ZygoteInit.main(ZygoteInit) で.java:597) 03-15 17:50:42.250: エラー/AndroidRuntime(441): dalvik.system.NativeStart.main(ネイティブ メソッド) 03-15 17:50:42.250: エラー/AndroidRuntime(441):原因: java.lang.NullPointerException 03-15 17:50:42.250: ERROR/AndroidRuntime(441): com.feral.widget.Prefs.loadLayout(Prefs.java:234) 03-15 17:50:42.250:エラー/AndroidRuntime (441): com.feral.widget.Prefs.loadPreference (Prefs.java:267) 03-15 17:50:42.250: エラー/AndroidRuntime (441): com.feral.widget.Prefs.onCreate で(Prefs.java:77) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) で 03-15 17:50:42.250: エラー/AndroidRuntime (441): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586) でloadPreference(Prefs.java:267) 03-15 17:50:42.250: エラー/AndroidRuntime(441): com.feral.widget.Prefs.onCreate(Prefs.java:77) 03-15 17:50:42.250:エラー/AndroidRuntime(441): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app.ActivityThread.performLaunchActivity(ActivityThread.java) :1586)loadPreference(Prefs.java:267) 03-15 17:50:42.250: エラー/AndroidRuntime(441): com.feral.widget.Prefs.onCreate(Prefs.java:77) 03-15 17:50:42.250:エラー/AndroidRuntime(441): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 03-15 17:50:42.250: エラー/AndroidRuntime(441): android.app.ActivityThread.performLaunchActivity(ActivityThread.java) :1586)

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

android - Android:インストールされているアプリケーションをListPreferenceに入力しますか?

私はAndroid開発に少し慣れていません。これは、インストールされているアプリケーションのリストを設定画面に表示するのは初めてです。このリストから選択した値は、後でユーザーが選択したアプリを起動するために使用されます。

次のクラスを作成しました。

これは、次のXMLを使用してPreferenceScreenに追加されます。

android.preference.ListPreference.findIndexOfValue(ListPreference.java:169)でNPEをスローするAppSelectorPreferenceをクリックするまで、すべてが正しく機能しているように見えます。助言がありますか?

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

android - カスタム listPreference で行が 2 倍になった

hereのコードを使用すると問題に直面しました。電話が横向きの場合、すべてのリスト項目が表示されるわけではありません (5 つのうち 3 つしか表示されないと仮定します)。4 番目と 5 番目の要素まで下にスクロールすると、2 つの 1 番目の要素 (つまり、1、2、3、1、1) が再び表示されます。いくつかのスクロール操作の後、より興味深いミックス (2、3、1、2、1 など) が得られます。

コードはリンクにあるとおりです。私が変更したものはすべて問題を解決しませんでした。どうしたの?

前もって感謝します

2Rajath 簡単な例をありがとうございますが、私の場合には適用できません。ご覧ください

CustomHolder オブジェクトが作成されると、setId() メソッドで NullPointer 例外がスローされます。

このコードを機能させる方法を教えてください。

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

android - チェックボックス設定アンドロイドまたはリスト設定の依存関係の複数の依存関係

例: 設定画面に 3 つのチェックボックスがありlistpreference(A,B,C)、各チェックボックスに応じて 3 つの異なるチェックボックスがあります。ユーザーに一度に1つのチェックボックスのみを選択させたい。どうすればこれを達成できますか?

  1. 設定画面にラジオボタンがない

  2. 私はそれを使用することができれば、私は Listpreference を使用することはできません

この Listprefrence の配列は「青」、「赤」、「白」です

青の場合 ListPreference A は青に依存します

赤の場合 ListPreference B は赤に依存

それが白なら ListPreference C は白に依存する

これどうやってするの?

私はGoogleで3〜4ページを検索しましたが、ここではこれらに関するほとんどすべてのページを検索しましたが、答えが見つかりませんでした.

よろしくお願いします、

前もって感謝します..