Java 未在可运行线程内解析上下文
下面是主活动类中的代码,它运行良好Java 未在可运行线程内解析上下文,java,android,Java,Android,下面是主活动类中的代码,它运行良好 public void onStart() { super.onStart(); mHandler = new Handler(); context = this; ... } 下面的代码给出了问题,不知道为什么: public void onStart() { super.onStart(); new Thread(new Runnable(){ public void run(){
public void onStart() {
super.onStart();
mHandler = new Handler();
context = this;
...
}
下面的代码给出了问题,不知道为什么:
public void onStart() {
super.onStart();
new Thread(new Runnable(){
public void run(){
mHandler = new Handler();
context = this;
...
}
}).start();
}
此
引用Runnable
实例。您需要封闭的活动,因此请使用MyActivityClass。此代替。此
指的是可运行的
实例。您需要封闭的活动,因此请使用MyActivityClass。此
new Thread(new Runnable(){
public void run(){
mHandler = new Handler();
context = this;
...
}
}).start();
在上述代码中,。此
指的是线程(可运行)
类对象,而不是当前活动
。并且您不能将Thread(Runnable)对象强制转换为Android上下文
或者类似的
context = <MainActivity>.this
context=。这个
在上述代码中,。此
指的是线程(可运行)
类对象,而不是当前活动
。并且您不能将Thread(Runnable)对象强制转换为Android上下文
或者类似的
context = <MainActivity>.this
context=。这个
替换上下文=此带有context=MainActivity的code>。此
引用的是线程
对象,而不是MainActivity
对象。替换context=this代码>使用context=MainActivity。这是因为它引用的是Thread
对象,而不是MainActivity
对象。设置ActivityClassName。如果需要线程中的上下文,可以使用AsyncTask。类似于Androidset ActivityClassName中的线程。如果希望在线程中使用上下文,则可以使用AsyncTask。类似于android中的线程,还有一件事我使用了“android\u id=Secure.getString(this.getContentResolver(),Secure.android\u id)”,这里还有“this.getContentResolver()”未解析。。plz help..只需在此处省略this
:android=Secure.getString(getContentResolver(),Secure.android)代码>谢谢Henry,还有一件事我使用了“android\u id=Secure.getString(this.getContentResolver(),Secure.android\u id)”,这里还有“this.getContentResolver()”没有解析。。plz help..只需在此处省略this
:android=Secure.getString(getContentResolver(),Secure.android)因为getContentResolver()
是活动或上下文类的方法。使用mContext.getContentResolver()
或。此.getContentResolver()
。因为getContentResolver()
是活动或上下文类的方法。使用mContext.getContentResolver()
或。此.getContentResolver()
。