这是主Activity类中的代码,它工作正常..
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();
}
答案 0 :(得分:2)
new Thread(new Runnable(){
public void run(){
mHandler = new Handler();
context = this;
...
}
}).start();
在上面的代码.this
中,Thread (Runnable)
类对象不是Current Activity
。并且您无法将Thread (Runnable) object
投射到Android Context
。
或类似的东西,
context = <MainActivity>.this
答案 1 :(得分:1)
将context = this;
替换为context = MainActivity.this
,因为它引用Thread
对象而不是MainActivity
对象。
答案 2 :(得分:0)
this
指的是Runnable
个实例。您需要封闭活动,因此请改用MyActivityClass.this
。