Я пытаюсь взять int из SharedPreferences
, который отслеживает, как долго программа приложения активна, и уменьшает ее до значения менее 7, чтобы показать, в какой день этой недели программы пользователь in.В то время как цикл для сокращения int в android
Вот что я использовал для уменьшения int, (я пытаюсь использовать цикл while для входа и вычитания 7 до тех пор, пока значение int меньше 7. Оператор IF
был добавлен, чтобы узнать, был сокращен, и он показывал неправильную строку)
public void methodNameHere() {
SharedPreferences onvalue = getApplicationContext().getSharedPreferences("TRAININGDAY", MODE_APPEND);
int day = (int) onvalue.getLong("DAY", 0);
SharedPreferences.Editor edit = onvalue.edit();
while (day < 7) {
day = day - 7;
}
if (day < 7) {
String da = Integer.toString(day);
Toast.makeText(CardioStart.this, da, Toast.LENGTH_LONG).show();
} else {
Toast.makeText(CardioStart.this, "f?*k", Toast.LENGTH_LONG).show();
}
}
и это где ИНТ приходит от:
private void dayOfTraining() {
TextView day = (TextView) findViewById(R.id.dayoftraining);
date.setTimeInMillis(millidate);
Calendar someday = Calendar.getInstance();
someday.set(2015, 4, 25);
Calendar today = Calendar.getInstance();
Long millidate = someday.getTimeInMillis();
long timeTwo = today.getTimeInMillis();
long oneDay = 1000 * 60 * 60 * 24;
long delta = (timeTwo - millidate)/oneDay;
long actualday = delta + 1;
day.setText(Long.toString(actualday));
SharedPreferences onvalue = getApplicationContext().getSharedPreferences("TRAININGDAY", MODE_APPEND);
SharedPreferences.Editor edit = onvalue.edit();
edit.putLong("DAY", actualday);
edit.commit();
}
String da тосты как «29», поэтому кажется, что он не уменьшается.
Я чувствую, что мне не хватает чего-то простого или у меня просто нет истинного понимания использования циклов while. Любая помощь будет принята с благодарностью. Спасибо.
Можете ли вы исправить ваши отступы, пожалуйста? – khelwood
Возможно, вам следует узнать, что такое оператор modulo (%) и делает ... – Durandal
'while (day <7)' уверен в этом? – njzk2