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