public Button stb;
static int cnt=0;
public ArrayList<RadioButton> Butgrp1 = new ArrayList<RadioButton>();
Timer myt;
TimerTask t;
stb.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
myt.mschedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("Entering run");
Handler h=new Handler();
h.post(new Runnable() {
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
Butgrp1.get(cnt).setChecked(true);
cnt=cnt+1;
if(cnt>4)
cnt=0;
if(cnt>0)
// Butgrp1.get(cnt-1).setChecked(false);
System.out.println(cnt);
}
});
}
});
//rg.getChildAt(cnt).setPressed(true);
}
},1000,2000);
I need to access a group of radio buttons on the ui and set it as checked at regular intervals, but i keep getting different errors, i realized i must use a handler, but its still not working…can anyone please tell me where i am going wrong….am a newbie and am trying out stuff to understand the working better…please help…
You have to create the
Handlerin the UI Thread, i.e. inonCreateof yourActivity.Because you create it in the
runmethod of a background thread, the handler will execute your code in that very same background thread.You could also initialize your
Handlerdirectly:And then don’t use
runOnUIThread:EDIT:
Ok try this cleaned up code. Because you did not post your full Activity this won’t work out of the box: