如何从另一个文件中调用变量?

时间:2013-08-14 13:30:00

标签: java android

我想将一个变量从一个类调用到另一个变量(在我的例子中,从WifiActivity到WifiBroadcastReceiver)。我使用一种方法,这是我的代码:

WifiActivity.java:

public class WifiActivity extends Activity implements OnClickListener {

    [...]

    public boolean getLocalizationState() {
        return localizationPhase; //localizationPhase is defined as boolean
    }

    [...]
}

WifiBroadcastReceiver.java:

public class WifiBroadcastReceiver extends BroadcastReceiver {

    private WifiActivity wifiActivity;  //
    [...]
    private boolean localizationState;

    @Override
    public void onReceive(Context context, Intent intent) {

        [...]

        while(position<=numberdisplay-1){ // While we have not read all the AP RSSI average
            localizationState=wifiActivity.getLocalizationState(); //The problem is here!!!
            if(sampleposition[position]!=0  && localizationState==true){ 
                [...]
            }
            [...]
        }
        [...]
    }
}

当我使用wifiActivity.getLocalizationState()时,它返回'false',但实际上当我查看调试模式时它是'true':variables-&gt; context-&gt; localizationPhase ='true' 我的印象是wifiActivity.getLocalizationState()只是阅读变量的定义,而不是变化。对于我调用的其他方法,我遇到了同样的问题,它没有返回调试窗口所做的相同的事情。

你知道可能是什么问题吗?

抱歉我的英文......

编辑:这是WifiActivity类的开头:

@Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_wifi);
@Jason C:当你谈到初始化时,你会想到这个吗?抱歉我缺乏知识......

1 个答案:

答案 0 :(得分:0)

使用Android时,你真的不需要做这样的事情:

private WifiActivity wifiActivity; 

尝试在Intent中使用额外内容来代替组件之间传递信息。