1

こんにちは私は Android 用のアプリケーションを書いています。Android Studio 2.1 と Android 4.0.3 を使用しています。私のアプリケーションは Wi-Fi データを使用していますが、外部クラスから変数の内容を取得できません。私は registerReceiver を使用しており、そのレジスターレシーバーの内部クラスで変数を取得しようとしています。下手な英語でごめんなさい。デバッグすると、activityString が null であることがわかります。助けてください。私のコードはここにあります:

public class MyActivity extends Activity {
public String activityString; // Here static or not no difference. This is null

public static WifiManager wifi;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.locationscreen);

    wifiScanResults();

    String[] dataArray = activityString.split("\\.");

    // Here I got Null Referance exception. When I debug, activityString is null
}

public void wifiScanResults()
{ 
     wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
     registerReceiver(new BroadcastReceiver() {

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

        activityString = "Go";

        }
      }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

    wifi.startScan();
}
4

1 に答える 1

0

プライベートな内部クラスです。そこから何かを引き出すことはできないと思います。代わりに、その中で行うことは何でも行う必要があります。たとえば、そこにコードを書くことができます。

于 2016-06-26T21:02:43.513 に答える