getApplicationContext() 作为 activity 来执行 runOnUiThread()?
getApplicationContext() as a activity to excute runOnUiThread()?
((Activity)getApplicationContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
这段代码对吗?想想都觉得麻烦!
看到这个答案:
您绝对不应该将 getApplicationContext() 转换为 Actvity,它不能保证工作并且这样的编程会导致崩溃。
runOnUiThread()
这是来自 Activity
的方法,所以如果你在 Activity
上,你可以避免这种情况:((Activity)getApplicationContext())
,但如果你在 [=15] 上=],你需要先获取你的Activity
,然后再调用这个方法,否则你将无法调用它。
你应该改变这个:((Activity)getApplicationContext())
对此:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
正如 Blackbelt 在评论中所说,它可以给你一个 ClassCastException
。
((Activity)getApplicationContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
这段代码对吗?想想都觉得麻烦!
看到这个答案:
您绝对不应该将 getApplicationContext() 转换为 Actvity,它不能保证工作并且这样的编程会导致崩溃。
runOnUiThread()
这是来自 Activity
的方法,所以如果你在 Activity
上,你可以避免这种情况:((Activity)getApplicationContext())
,但如果你在 [=15] 上=],你需要先获取你的Activity
,然后再调用这个方法,否则你将无法调用它。
你应该改变这个:((Activity)getApplicationContext())
对此:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
正如 Blackbelt 在评论中所说,它可以给你一个 ClassCastException
。