Ich möchte beginnen, zwei Zeilen Code alle 5 Sekunden zu wiederholen, wenn ich den Knopf START drücke und es schließe, wenn ich den Knopf STOP drücke. Ich habe versucht, mit einer TimerTask und Handles, aber konnte nicht herausfinden, wie.Android - Schleife Teil des Codes alle 5 Sekunden
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//final int i;
final TextView textView = (TextView) findViewById(R.id.textView);
final Button START_STOP = (Button) findViewById(R.id.START_STOP);
final ImageView random_note = (ImageView) findViewById(R.id.random_note);
final int min = 0;
final int max = 2;
final Integer[] image = { R.drawable.a0, R.drawable.a1,R.drawable.a2 };
START_STOP.setTag(1);
START_STOP.setText("START");
START_STOP.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int status = (Integer) v.getTag();
if (status ==1) {
textView.setText("Hello");
START_STOP.setText("STOP");
v.setTag(0);
final Random random = new Random();
//************************************************************
// I would like to loop next 2 lines of code every 5 seconds.//
int i = random.nextInt(2 - 0 + 1) + 0;
random_note.setImageResource(image[i]);
//************************************************************
}
else
{
textView.setText("Bye");
START_STOP.setText("Let's PLAY!");
v.setTag(1);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Was hat nicht mit der TimerTask funktioniert? –
Ich weiß es nicht. Als ich versuchte, es auf dem Emulator auszuführen, stürzte es ab. Aber wahrscheinlich habe ich etwas falsch gemacht, da ich ein Android (Java) Anfänger bin. – Damijan