Вы должны сохранить положение выбранного элемента, когда пользователь нажимает.Затем вы просматриваете ранее сохраненный индекс при отображении списка.Если ранее сохраненного значения нет, вы возвращаете -1.
У меня есть приложение, вспомогательный класс Preferences ...
public class AppPreferences {
private static final String APP_SHARED_PREFS = "myApp_preferences"; // Name of the file -.xml
private SharedPreferences appSharedPrefs;
private Editor prefsEditor;
public AppPreferences(Context context)
{
this.appSharedPrefs = context.getSharedPreferences(APP_SHARED_PREFS, Activity.MODE_PRIVATE);
this.prefsEditor = appSharedPrefs.edit();
}
public int getItemIndex() {
return appSharedPrefs.getInt("itemIndex", -1);
}
public void saveItemIndex(int i) {
prefsEditor.putInt("itemIndex", i);
prefsEditor.commit();
}
}
Затем в моем коде я создаю переменную поля ...
protected AppPreferences appPrefs;
И создать его экземпляр внутри Activity onCreate () ...
appPrefs = new AppPreferences(getApplicationContext());
Затем заменить "-1" на ...
builder.setSingleChoiceItems(items, appPrefs.getItemIndex(), new DialogInterface.OnClickListener() {
И в вашем onClick () убедитесь, что вы ...
appPrefs.saveItemIndex(item);