Hallo zusammen!!
Bin schon einigen Tagen an einem Problem. Bräuchte jetzt nach vielen Versuchen mal eure Hilfe!!
Ich möchte gern eine custom dynamic listView entwerfen, die bspw. nur die SSID scannt.
Wenn ich die default ListView im ArrayAdapter verwende, klappt alles ohne Problem. Ich habe nur Problem eine custom ListView anzuwenden.
Hier mal mein Code. Vielleicht hat jemand mal einen Tipp für, bin schon fertig mit den Nerven...
Ich glaube es liegt an der Klasse "CustomArrayAdapter".
Das ist die Main class
(Hier denke ich stimmt was nicht mit dem customer Adapter nicht...
)
Hier die Adapter class
(Ich bin mir sicher, dass hier ein Fehler vorliegt und zwar bei dem Kostruktor)
Hier meine Custom class
Daaaaaanke schon mal für eure Hilfe...
Gruß nickname
Bin schon einigen Tagen an einem Problem. Bräuchte jetzt nach vielen Versuchen mal eure Hilfe!!
Ich möchte gern eine custom dynamic listView entwerfen, die bspw. nur die SSID scannt.
Wenn ich die default ListView im ArrayAdapter verwende, klappt alles ohne Problem. Ich habe nur Problem eine custom ListView anzuwenden.
Hier mal mein Code. Vielleicht hat jemand mal einen Tipp für, bin schon fertig mit den Nerven...
Das ist die Main class
Code:
public class MainActivity extends Activity {
Button buttonClose;
ListView listView;
WifiManager wifiManager;
List<ScanResult> listScanResult;
String SSID;
CustomBroadcastReceiver wifiBroadcastReceiverClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonClose = ( Button ) findViewById( R.id.buttonClose );
buttonClose.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View view ) {
finish();
}
});
wifiBroadcastReceiverClass = new CustomBroadcastReceiver();
listView = ( ListView ) findViewById( R.id.listView );
wifiManager = (WifiManager)getApplicationContext().getSystemService( Context.WIFI_SERVICE );
this.registerReceiver(wifiBroadcastReceiverClass, new IntentFilter( WifiManager.WIFI_STATE_CHANGED_ACTION ));
}
/*****************************************************************************/
class CustomBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
wifiManager.startScan();
listScanResult = wifiManager.getScanResults();
ArrayList<String> arrayList = new ArrayList<String>();
for( int x = 0; x < wifiManager.getScanResults().size(); x++ ) {
arrayList.add(wifiManager.getScanResults().get( x ).SSID );
}
CustomArrayAdapter arrayAdapter = new CustomArrayAdapter(MainActivity.this);
listView.setAdapter(arrayAdapter);
}
}
}//Ende der Klasse
Hier die Adapter class
(Ich bin mir sicher, dass hier ein Fehler vorliegt und zwar bei dem Kostruktor)
Code:
public class CustomArrayAdapter extends ArrayAdapter<CustomData>{
Context context;
int resource;
LayoutInflater layoutInflater = ( LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
/* Construktor */
public CustomArrayAdapter(Context context ) {
super(context, R.layout.custom_listview );
this.context = context;
}
// getView()...
@Override
public View getView(int position, View convertView, ViewGroup parent ) {
View view = convertView;
String textSSID = getItem(position).getSSID();
if( convertView == null ) {
view = layoutInflater.inflate( R.layout.custom_listview, null );
TextView ssidNameFromID = ( TextView ) view.findViewById( R.id.textViewSSID );
ssidNameFromID.setText(textSSID);
}
return view;
}
}
Hier meine Custom class
Code:
public class CustomData {
String textSSID;
public CustomData( String ssid ) {
this.textSSID = ssid;
}
public String getSSID() {
return textSSID;
}
}
Daaaaaanke schon mal für eure Hilfe...
Gruß nickname