Как я могу продолжать добавлять настройки, когда я нажимаю один? - PullRequest
1 голос
/ 25 марта 2011

У меня проблема. Я хочу предоставить пользователю свободу выбора нескольких устройств Bluetooth в моем приложении. Теперь я не знаю, сколько будет Bluetooth-устройств, поэтому мне было интересно, можно ли дать пользователю возможность щелкнуть по пользовательской настройке «Добавить новое устройство Bluetooth» и открыть новый экран настроек, чтобы он мог выбрать настройку Bluetooth новой устройство

В итоге дисплей будет выглядеть так:

Добавление нового устройства Bluetooth ..

Если пользователь добавляет один, он должен выглядеть следующим образом:

Устройство Bluetooth 1

Добавление нового устройства Bluetooth.

Если пользователь добавляет еще один, он должен выглядеть так:

Устройство Bluetooth 1

Устройство Bluetooth 2

Добавление нового устройства Bluetooth ..

Я знаю, как использовать стандартные настройки и базовое кодирование. Единственное, что я хочу знать, - как я могу продолжать добавлять настройки для этих устройств во время выполнения. Буду признателен за любую помощь. Спасибо.

Ответы [ 2 ]

7 голосов
/ 25 марта 2011

Не уверен, что я полностью понимаю это, но звучит так, как будто вы хотели бы добавить предпочтение для каждого устройства Bluetooth.Для этого вам нужно сделать что-то вроде этого:

Внутри функции, в которую вы добавляете устройство Bluetooth:

SharedPreferences prefs = getDefaultSharedPreferences();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("BT" + nameOfDevice, whateverYouWantToStoreAboutTheDevice);
editor.commit();

Если вы хотите получить все настройки для каждогоУстройство Bluetooth, вы можете получить набор всех ключей в вашем файле SharedPreferences, выяснить, какие из них имеют префикс «BT», и выбрать каждое из этих предпочтений.Примерно так:

Set<String> keySet = prefs.getAll().keySet();
for(String key : keySet){
   if(key.startsWith("BT"){
       String theValue = prefs.getString(key, null);
       //Do whatever with that value
   }
}

Однако меня осенило, что вы говорите о динамическом добавлении предпочтений.Это совсем другое =).

Редактировать: Вот как программно добавить предпочтение с представлением из ваших предпочтений. Упражнение:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
        CheckBoxPreference checkbox = new CheckBoxPreference(this);
        checkbox.setTitle("This is a checkbox preference");
        ((PreferenceScreen)findPreference("PREFSMAIN")).addPreference(checkbox);
    }

В этом примере я дал моему PreferenceScreen ключ"PREFSMAIN".Таким способом вы можете добавить любой вид предпочтения.

0 голосов
/ 25 марта 2011

Рассмотрите возможность реализации своего предпочтительного действия и использования http://developer.android.com/reference/android/preference/PreferenceManager.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...