如何刷新每5秒钟内线程中的runOnUiThread?

mySpinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

public void onItemSelected(AdapterView<?> arg0, View arg1,

int arg2, long arg3) {

data ="";

String splithis;

splithis=mySpinner.getSelectedItem().toString();

splited = splithis.split(" ");

course = splited[0];

sections = splited[2];

new Thread(new Runnable() {

public void run() {

data = bw.getAttendanceFromDB(term, course,sections,day);

runOnUiThread(new Runnable() {

@Override

public void run() {

ArrayList<Properties> attendanceusers = attendanceUse(data);

addAttendance(attendanceusers);

}

});

}

}).start();

}

我有ArrayList attendanceusers填充我的动态设计,它正在学生的出席和数据库中动态填充我的设计。但是,每当有其他学生进来时,它并不会动态地反映这种变化。刷新正在发生,如果我点击另一个日期,但我想要的是它每5秒或10秒刷新一次。即时通讯试图研究堆栈中的答案,但所有的答案都不同于我的答案。如何刷新每5秒钟内线程中的runOnUiThread?

回答:

下面是如何每5秒钟在线程中运行某些内容的示例,您可以将其添加到任意位置。

Handler handler = new Handler(Looper.getMainLooper()); 

Timer timer = new Timer();

timer.scheduleAtFixedRate(new TimerTask() {

public void run() {

data = bw.getAttendanceFromDB(term, course,sections,day);

}

}, 0, 5 * 1000);

handler.post(new Runnable() {

public void run() {

ArrayList<Properties> attendanceusers = attendanceUse(data);

addAttendance(attendanceusers);

}

})

您可以将其从单击监听器中取出并运行一次。

当您的活动暂停时,请不要忘记拨打电话timer.cancel(),然后在恢复时重新运行()。

以上是 如何刷新每5秒钟内线程中的runOnUiThread? 的全部内容, 来源链接: utcz.com/qa/257717.html

回到顶部