I would like to start repeating two lines of code every 5 seconds when I press the button START and end it, when I press the button STOP. I was trynig with a TimerTask and Handles, but couldn't figure it out how.
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;
}
}
See Question&Answers more detail:os