Я сделал приложение для будильника, но я пытаюсь создать домашнюю страницу, где пользователь может видеть все установленные им сигналы тревоги. Я хочу бесконечно запускать блок кода, который обновляет домашнюю страницу моего приложения, но методы, которые я обнаружил, не сработали (т. Е. С использованием цикла таймера, while и цикла for). Любое предложение мне очень поможет, и любая критика кода поможет, спасибо всем!
Я пытался
Timers
, Do-While
, While
и For Loops
Цикл «Пока», который в данный момент существует, вызывает ошибку, и приложение даже не запускается.
Весь код, с которым мне нужна помощь, находится в цикле while.
Я думаю, что это ошибка
(I / zygote64: Отклонение повторной инициализации для ранее неудачного classjava.lang.Class: java.lang.NoClassDefFoundError: Неудачное разрешение: Landroid / view / View $ OnUnhandledKeyEventListener;)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarms);
final Button selectAlarm1 = (Button) findViewById(R.id.selectAlarm1);
final Button selectAlarm2 = (Button) findViewById(R.id.selectAlarm2);
final Button selectAlarm3 = (Button) findViewById(R.id.selectAlarm2);
selectAlarm1.setVisibility(View.INVISIBLE);
selectAlarm2.setVisibility(View.INVISIBLE);
selectAlarm3.setVisibility(View.INVISIBLE);
final TextView textView = (TextView) findViewById(R.id.textView);
final Button createAlarm = (Button) findViewById(R.id.createAlarm);
final Button createAlarm2 = (Button) findViewById(R.id.createAlarm2);
final Button createAlarm3 = (Button) findViewById(R.id.createAlarm3);
createAlarm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMainActivity();
createAlarm2.bringToFront();
}
});
createAlarm2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMainActivity2();
createAlarm3.bringToFront();
}
});
createAlarm3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMain3Activity();
}
});
selectAlarm1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMainActivity();
}
});
selectAlarm2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMainActivity2();
}
});
selectAlarm3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openMain3Activity();
}
});
while(true){
if (Global.intHour1 != 0 && Global.intMinute1 != 0) {
textView.setVisibility(View.GONE);
selectAlarm1.setVisibility(View.VISIBLE);
//fixing minute format
if (Global.intMinute1 <= 9) {
selectAlarm1.setText("Alarm 1 is set for " +
Global.intHour1 + ":0" + Global.intMinute1);
} else {
selectAlarm1.setText("Alarm 1 is set for " +
Global.intHour1 + ":" + Global.intMinute1);
}
} else if (Global.intHour1 == 0 && Global.intMinute1 == 0) {
textView.setVisibility(View.VISIBLE);
}
if (Global.intHour2 != 0 && Global.intMinute2 != 0) {
selectAlarm2.setVisibility(View.VISIBLE);
//fixing minute format
if (Global.intMinute2 <= 9) {
selectAlarm2.setText("Alarm 1 is set for " +
Global.intHour2 + ":0" + Global.intMinute2);
} else {
selectAlarm2.setText("Alarm 1 is set for " +
Global.intHour2 + ":" + Global.intMinute2);
}
} else {
}
if (Global.intHour3 != 0 && Global.intMinute3 != 0) {
selectAlarm3.setVisibility(View.VISIBLE);
//fixing minute format
if (Global.intMinute3 <= 9) {
selectAlarm3.setText("Alarm 1 is set for " +
Global.intHour3 + ":0" + Global.intMinute3);
} else {
selectAlarm3.setText("Alarm 1 is set for " +
Global.intHour3 + ":" + Global.intMinute3);
}
}
else {
}
if (selectAlarm1.getVisibility() == View.INVISIBLE &&
selectAlarm2.getVisibility() == View.INVISIBLE &&
selectAlarm3.getVisibility() == View.INVISIBLE) {
textView.setVisibility(View.VISIBLE);
}
else
{
}
}
}
public void openMainActivity () {
Intent openAlarm = new Intent(this, MainActivity.class);
startActivity(openAlarm);
}
public void openMainActivity2 () {
Intent openAlarm2 = new Intent(this, MainActivity2.class);
startActivity(openAlarm2);
}
public void openMain3Activity () {
Intent openAlarm3 = new Intent(this, Main3Activity.class);
startActivity(openAlarm3);
}
public void makeTextVisible () {
}
}
Я хочу, чтобы код распознавал при изменении intHour1-3 и intMinute1-3 и изменял состояние видимости кнопки, чтобы при возвращении пользователя на домашнюю страницу он мог видеть, какие аварийные сигналы установлены.