((Activity)getApplicationContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
这段代码是对的?我很难想到它!
答案 0 :(得分:1)
请参阅此答案:https://stackoverflow.com/a/6760019/923441
你绝对不应该将getApplicationContext()强制转换为Actvity,它不能保证工作,这样的编程会导致崩溃。
答案 1 :(得分:1)
runOnUiThread()
来自Activity
的方法,所以如果你在Activity
,你可以避免这种情况:((Activity)getApplicationContext())
,但如果你在Fragment
上1}},您需要先获得Activity
的第一个,然后调用此方法,否则您将无法调用它。
您应该更改此内容:((Activity)getApplicationContext())
到此:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
正如Blackbelt在评论中所说的那样,它会给你一个ClassCastException
。