0

这是主 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();
}
4

3 回答 3

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 
于 2013-01-04T11:27:03.947 回答
1

替换为context = this;context = MainActivity.this因为它引用的是Thread对象而不是MainActivity对象。

于 2013-01-04T11:27:06.517 回答
0

thisRunnable实例。您想要封闭的活动,因此请MyActivityClass.this改用。

于 2013-01-04T11:25:57.487 回答