2016-05-23 3 views
1

Привет, Я пишу приложение для Android. Я использую Android Studio 2.1 и Android 4.0.3. Мое приложение использует данные Wi-Fi, и я не могу получить содержимое переменной из внешнего класса. Я использую registerReceiver, и я пытаюсь получить переменную в внутреннем классе получателя регистра. Мне жаль моего бедного английского. Когда я отлаживаю, я вижу, что activityString имеет значение null. Пожалуйста помоги. Мой код:Как получить значение переменной из внутреннего класса registerReceiver

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(); 
} 

ответ

0

Это частный внутренний класс. Я думаю, вы ничего не можете извлечь из этого. Вместо этого вы должны делать все, что вы будете делать внутри него. Например, вы можете написать свой код.