Android 是否将getApplicationContext()作为执行runOnUiThread()的活动?
这个代码是对的?我很难去想它 看看这个答案: 您绝对不应该将getApplicationContext()强制转换为Activity,它不能保证工作,这样的编程将导致崩溃。请参见以下答案: 您绝对不应该将getApplicationContext()强制转换为Activity,它不能保证工作,这样的编程将导致崩溃。Android 是否将getApplicationContext()作为执行runOnUiThread()的活动?,android,android-context,applicationcontext,Android,Android Context,Applicationcontext,这个代码是对的?我很难去想它 看看这个答案: 您绝对不应该将getApplicationContext()强制转换为Activity,它不能保证工作,这样的编程将导致崩溃。请参见以下答案: 您绝对不应该将getApplicationContext()强制转换为Activity,它不能保证工作,这样的编程将导致崩溃。runOnUiThread()这是活动中的一种方法,因此如果您在活动中,可以避免这种情况:((活动)getApplicationContext()),但是如果您使用的是片段,则需要首先
runOnUiThread()
这是活动中的一种方法,因此如果您在活动中,可以避免这种情况:((活动)getApplicationContext())
,但是如果您使用的是片段
,则需要首先获取活动
,然后调用此方法,否则将无法调用它
您应该更改此设置:((活动)getApplicationContext())
为此:
((Activity)getApplicationContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
正如Blackbelt在评论中所说,它会给你抛出一个ClassCastException
。runOnUiThread()
这是活动中的一个方法,因此如果你在活动中,你可以避免这种情况:((活动)getApplicationContext())
,但如果你在片段中,您需要首先获取活动
,然后调用此方法,否则将无法调用它
您应该更改此设置:((活动)getApplicationContext())
为此:
((Activity)getApplicationContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
正如Blackbelt在评论中所说,它会给你抛出一个ClassCastException
。不,它不是,应用程序上下文不是一个活动,我想是的,但我不知道这个代码是否成功执行@tyczjit应该因为ClassCastException而崩溃不,应用程序上下文不是一个活动,我想是的,但我不知道这段代码是否成功执行@tyczjit是否会因ClassCastException而崩溃