Я использую общие настройки для сохранения данных из AutoCompleteTextView. Когда пользователь что-то пишет в этом AutoCompleteTextView, он может нажать кнопку, чтобы сохранить то, что он только что написал (чтобы ему не приходилось писать это каждый раз).
Вот как выглядит мой код:
private AutoCompleteTextView autoComplete = null;
String nameFile = "Web service data";
String myData = "";
SharedPreferences pref;
Editor editor;
String channel = "";
String[] valuesArray = {channel};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
pref = getApplicationContext().getSharedPreferences("MyPref", 0);
editor = pref.edit();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, valuesArray);
autoComplete = (AutoCompleteTextView) findViewById(R.id.autocompletion);
autoComplete.setAdapter(adapter);
Button add = (Button) findViewById(R.id.add);
add.setOnClickListener(sendForm2);
Button remove = (Button) findViewById(R.id.remove);
remove.setOnClickListener(sendForm2);
channel = pref.getString(nameFile, null);
}
OnClickListener sendForm2 = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.add:
myData = autoComplete.getText().toString();
editor.putString(nameFile, myData);
editor.commit();
break;
case R.id.remove:
editor.remove(nameFile);
editor.commit();
break;
}
}
};
Проблема в том, что общие настройки вообще не сохраняют данные в канале. Даже когда я закрываю приложение и перезапускаю его. Любая подсказка или идея, как решить эту проблему?
channel = pref.getString(nameFile, null);
— это место, где я должен прочитать значение и сохранить его. - person user3774435   schedule 25.07.2014