Мое приложение связано с сигналом тревоги. В моем приложении я использовал материал AlertDialog
. Я выбираю одно значение от AlertDialog
и нажимаю кнопку выбора. Я хочу сохранить выбранные значения. Это значение устанавливается до тех пор, пока я его не изменю. Как мне?Диалоговое окно материала для Android и сохранение выбранного значения
final Dialog dialog = new MaterialDialog.Builder(Settings_Activity.this)
.title(R.string.full_battery_alarm1)
.iconRes(R.mipmap.ic_launcher)
.limitIconToDefaultSize()
.items(R.array.full_battery_alarm)
.itemsCallbackSingleChoice(0, new MaterialDialog.ListCallbackSingleChoice() {
@Override
public boolean onSelection(MaterialDialog mdialog, View view, int pos, CharSequence text) {
manager.sessionWork(pos);
showToast(pos + " = " + text);
int i = Integer.parseInt(text.toString());
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(Settings_Activity.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("select full", Integer.toString(i));
editor.apply();
String abc = preferences.getString("select full", null);
final int l = Integer.parseInt(abc);
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
if (rawlevel >= 0 && scale > 0) {
level = (rawlevel * 100)/scale;
showToast("level full" + level);
if (level == l) {
showToast("level full 2"+level);
Intent i1 = new Intent(Settings_Activity.this, StopActivity.class);
i1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i1);
finish();
}
}
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
mdialog.setSelectedIndex(pos);
return true;
}
})
.positiveText(R.string.choose)
.show();
Используйте * общие предпочтения *, чтобы сохранить это значение и использовать его. Также опубликуйте часть своего кода, чтобы мы могли предложить. –
Теперь расскажите, в чем проблема с кодом выше. он генерирует любое * exception *, а затем post * stack trace *. –