0

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

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

class GeneralPreferenceFragment extends PreferenceFragment {
    private Context context = getBaseContext();
    private int i;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //get Bluetooth Adapter
        BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();

        if (pairedDevices.size() > 0) {
            SharedPreferences prefs = context.getSharedPreferences("bt_devices", 0);
            this.i = 0;

            for (BluetoothDevice device : pairedDevices) {
                CheckBoxPreference checkBoxPreference = new CheckBoxPreference(context);
                checkBoxPreference.setKey("btDevice_"+this.i);
                checkBoxPreference.setChecked(prefs.getBoolean("btDevice_"+this.i, false));
                this.i++;
                //(Somehow add CheckboxPreference to PreferenceFragment)
            }// end for loop
        }// end if(paired devices)
    }// end onCreate()
} // end PreferenceFragment

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

4

1 に答える 1

0

理解した。onCreate() ではなく onViewCreated() で定義します。

設定フラグメントに設定を追加してプログラムで検索します。プログラムで EditTextPreferencesを PreferenceFragment に追加するにはどうすればよいですか?

于 2014-05-18T20:15:35.620 に答える