-1

クラスから別のクラスへ変数を呼び出したい (私の例では、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」です:変数->コンテキスト-> localizationPhase = 'true'wifiActivity.getLocalizationState()変数の定義を読んだだけの印象がありますが、そうではありません変更。私が呼び出す他のメソッドにも同じ問題があります。デバッグ ウィンドウと同じものは返されません。

何が問題になるか知っていますか?

私の英語でごめんなさい...

編集:これはWifiActivityクラスの始まりです:

@Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_wifi);

@Jason C:初期化について話すとき、これについて考えますか?知識不足ですみません…

4

1 に答える 1

0

Android で作業する場合、次のようなことをする必要はまったくありません。

private WifiActivity wifiActivity; 

代わりに、インテントでエクストラを使用して、コンポーネント間で情報を渡してみてください。

于 2013-08-14T13:34:59.630 に答える