Android Bestimmen von welchem Typ die Objekte in einem ArrayAdapter sind

W

Wimme92

Gast
Hallo!

Im Prinzip sagt der lange Titel schon alles. Ich möchte bestimmen, von welchem Typ die Objekte in einem ArrayAdapter sind, bzw. Objekte welchen Typs der ArrayAdapter speichern kann. Ich habe es folgendermaßen bisher gemacht:

Java:
      			if(listview.getAdapter().getCount() > 0) {
      				if(listview.getAdapter().getItem(0) instanceof Integer) {
      	          		((ArrayAdapter<Integer>)listview.getAdapter()).add(Integer.parseInt(item.getText().toString()));
      	          		((ArrayAdapter<Integer>)listview.getAdapter()).notifyDataSetChanged();    
      				} else if(listview.getAdapter().getItem(0) instanceof String) {
      	          		((ArrayAdapter<String>)listview.getAdapter()).add(item.getText().toString());
      	          		((ArrayAdapter<String>)listview.getAdapter()).notifyDataSetChanged();   
      				}
      			}

Das funktioniert allerdings nur, wenn der ArrayAdapter vorher schon mindestens ein Element speichert, ist er leer, wird natürlich kein Element hinzugefügt. Wie kann ich auf den Typ prüfen, wenn der ArrayAdapter leer ist?

Danke!
 
J

jGuru

Gast
Das funktioniert allerdings nur, wenn der ArrayAdapter vorher schon mindestens ein Element speichert, ist er leer, wird natürlich kein Element hinzugefügt.
Selbst dann funktioniert sowas nicht verlässlich:
Java:
List<Object> list = new ArrayList<>();
list.add(new Integer(1));
list.add("abc");
list.add(this);
...
Wie kann ich auf den Typ prüfen, wenn der ArrayAdapter leer ist?
Überhaupt nicht. Stichwort ist "Type Erasure".
 

Ähnliche Java Themen

Neue Themen


Oben