Не уверен, что я полностью понимаю это, но звучит так, как будто вы хотели бы добавить предпочтение для каждого устройства 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".Таким способом вы можете добавить любой вид предпочтения.