安卓监视器 说: 尝试在空对象引用上调用接口方法'int java.util.List.size()'



我试图将WiFi的扫描术从一个类带到另一个类。

这是我的第一堂课:

public class WifiReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context ctx, Intent intent) {
        // Wenn Hardware scan durchzogen wurde (wegen -->SCAN_RESULTS_AVAILABLE_ACTION)
        String wifiList1;
        wifiList = mainWifi.getScanResults();
        wifiList1=wifiList.toString();
        Toast.makeText(ctx, "Scan für AP Umgebung fertig", Toast.LENGTH_SHORT).show();
        Log.v("onReceive","ausgeführt");
        Log.v("ScanResults",wifiList1);
    }
    public List<ScanResult> getWifiList(){
        return wifiList;
    }

这是另一个类,我想从getscanresults((中使用我的数据,我可以在这里保存在Wifilist中。

public StringBuilder getAParound(){
    StringBuilder sb = new StringBuilder();
    DemoApp wf2 = new DemoApp();
    DemoApp.WifiReceiver wf = wf2.new WifiReceiver();
    for (int i = 0; i< wf.getWifiList().size(); i++) {  // At this line Android Monitor says Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
        sb.append(Integer.toString(i + 1) + ". ");
        sb.append(wf.getWifiList().get(i).toString());
        Log.v("getAParound","ausgeführt");
    }
    return sb;
}

我可以在 Log.v("ScanResults",wifiList1);中看到结果。

有人可以帮我吗?

我认为,您不使用wifilist,请尝试使用'new'关键词在构造函数方法中创建列表的实例。

这样:

public class WifiReceiver extends BroadcastReceiver {
private List<ScanResult> wifiList;
// This is a construtcor
public WifiReceiver(){
    wifiList = new List<ScanResult>() // Here you crerate the object
}
@Override
public void onReceive(Context ctx, Intent intent) {
    // Wenn Hardware scan durchzogen wurde (wegen -->SCAN_RESULTS_AVAILABLE_ACTION)
    String wifiList1;
    wifiList = mainWifi.getScanResults();
    wifiList1=wifiList.toString();
    Toast.makeText(ctx, "Scan für AP Umgebung fertig", Toast.LENGTH_SHORT).show();
    Log.v("onReceive","ausgeführt");
    Log.v("ScanResults",wifiList1);
}
public List<ScanResult> getWifiList(){
    return wifiList;
}

是因为对象类型Defualt值为'null'

最新更新