【发布时间】:2017-06-03 23:21:17
【问题描述】:
计时器每分钟检查一次,如果小时有变化,则按钮需要变为绿色且可点击,否则保持红色且不可点击。
到目前为止,我收到此错误,但我不知道如何处理:-
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
CHECK();
}
}, 1*60*1000, 1*60*1000);
public void CHECK(){
sqliteDbHelper_ = new Sqlite_DBHelper(getActivity());
sqLiteDatabase = sqliteDbHelper_.getWritableDatabase();
String[] columns = {"hour_only","JAKOST"};
cursor = sqLiteDatabase.query("podatki", columns,null,null,null,null,null);
Calendar calander = Calendar.getInstance();
Integer currentHour = calander.get(Calendar.HOUR_OF_DAY);
buttonSaveOnMainPage.setClickable(true);
cursor.moveToLast();
if (cursor.moveToLast()== false){
lastInputedHour = 0;
}
else{
lastInputedHour = cursor.getInt(0);
}
Log.e(TAG+"zadnja vnesena URA",""+lastInputedHour);
Log.e(TAG+"trenutna URA",""+currentHour);
if (lastInputedHour == currentHour){
buttonSaveOnMainPage.setBackgroundResource(R.color.ColorRed);
buttonSaveOnMainPage.setClickable(false);
}
else
buttonSaveOnMainPage.setBackgroundResource(R.color.ColorGreenDark);
buttonSaveOnMainPage.setClickable(true);
}
【问题讨论】:
标签: android