Auf Thema antworten

Hallo zusammen.. da bin ich wieder:)

hab ein kleines Problem mit meinem Code...So weit läuft es ja. Ich kann

die SSID und BSSID anzeigen aber,wenn ich einen int-Wert, wie bspw.  level auslesen

möchte, klappt das nicht. Da stürzt meine App immer ab. Beim String klappt das ohne Prob.


Hoffe jemand kann mir da helfen:) Danke schon mal!!


Habe den Konstruktor angepaßt usw.

Hier der Teilcode in der Main

[code]class CustomBroadcastReceiver extends BroadcastReceiver{

        @Override

        public void onReceive(Context context, Intent intent) {

          

            wifiManager.startScan();

            listCustomData = new ArrayList<CustomData>();      

            for( int x = 0; x < wifiManager.getScanResults().size(); x++ ) {

//                listCustomData.add(new CustomData(wifiManager.getScanResults().get( x ).SSID, wifiManager.getScanResults().get( x ).BSSID));

                listCustomData.add(new CustomData(wifiManager.getScanResults().get( x ).level));

              

            }

            CustomArrayAdapter arrayAdapter = new CustomArrayAdapter(getApplicationContext(), R.layout.custom_listview, listCustomData);

            listView.setAdapter(arrayAdapter);      

            Toast.makeText(MainActivity.this, "Scan...", Toast.LENGTH_SHORT).show();

        }  

    }[/code]


Hier der Code in der CustomData

[code]public class CustomData {


  

    String textSSID;

    String bssid;

    int levelInt;


  

  

    public CustomData( String ssid, String bssid) {

        this.textSSID = ssid;

        this.bssid = bssid;

    }

  

    public CustomData( int levelint ) {

        this.levelInt = levelint;

    }

    public String getSSID() {

        return textSSID;

    }

  

    public String getBSSID() {

        return bssid;

    }

  

    public int getLevelInt() {

        return levelInt;

    }

  

}[/code]


Und der Letzte in der Adapter Klasse

[code]public View getView(int position, View convertView, ViewGroup parent ) {

      

        LayoutInflater layoutInflater = ( LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View view = convertView;

      

//        String textSSID = getItem(position).getSSID();

//        String bssidString = getItem( position ).getBSSID();

        int levelIntID = getItem( position ).getLevelInt();

      

        if( convertView == null ) {

        view = layoutInflater.inflate( R.layout.custom_listview, null );

      

//            TextView ssidNameFromID = ( TextView ) view.findViewById( R.id.textViewSSID );

//            TextView bssidFromID = ( TextView ) view.findViewById( R.id.textViewIpAdress_ID );

            TextView levelIntFromID = ( TextView ) view.findViewById( R.id.textViewIpAdress_ID );

          

            CustomData cd = customData.get( position );

          

//            ssidNameFromID.setText(textSSID);

//            bssidFromID.setText(bssidString);

            levelIntFromID.setText(levelIntID);

          

            ImageView wifi = (ImageView) view.findViewById( R.id.imageViewWifiNet_ID );

            wifi.setImageResource(R.drawable.wifi_net);//Es wird immer das gleiche Bild angezeigt

        }

      

        return view;

    }[/code]



Oben