Alle meinen Code so weit:.HashMap in Arraylist Anzeige auf Listview Android
ich die Zeichenfolge bin setzen, die ich auf dem Bildschirm in Liste der hardlist zeigen wollen (getDestinationCity und getTotalPrice) Allerdings sehe ich nur getTotalPrice-Werte auf dem Bildschirm. Das Feld "getDestinationCity" ist leer. Ich denke, ich zeige nur die Werte (getTotalPrice) auf dem Bildschirm außer Keys (getDestinationCity).
Wie kann ich es herausfinden?
public class MainActivity extends AppCompatActivity {
List<HashMap<String, String>> hardlist = new ArrayList<HashMap<String, String>>();
String getTotalPrice = null;
String getDestinationCity = null;
ListView lv;
ListAdapter listAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv= (ListView)findViewById(R.id.listView1);
deserilaze();
String[] from = new String[]{getDestinationCity, getTotalPrice};
int[] to = new int[]{R.id.name, R.id.price};
listAdapter = new SimpleAdapter(this, hardlist, R.layout.list_item, from, to);
lv.setAdapter(listAdapter);
}
public void deserilaze(){
Gson gson = new Gson();
AirJson airJson = gson.fromJson(airFullJson, AirJson.class);
for (Itinerary itini : airJson.getResult().getItineraries()) {
// System.out.println("\n");
String getSelectionID = itini.getSelectionId();
getTotalPrice = itini.getPriceInfo().getPriceBreakdown().getTotalPrice().toString();
String getCurrency = itini.getPriceInfo().getCurrency();
// System.out.println("Itinerary: " + "\n" + getSelectionID + "\n" + getTotalPrice + "\t" + getCurrency);
for (Trip tripin : itini.getTrips()) {
getDestinationCity = tripin.getDestinationCity();
String getOriginCity = tripin.getOriginCity();
String getValidatingCarrier = tripin.getValidatingCarrier();
String getDepartureTime = tripin.getDepartureTime();
String getArrivalTime = tripin.getArrivalTime();
// System.out.println("Trip: " + "\n" + getDestinationCity + "\n" + getOriginCity + "\n" + getValidatingCarrier + "\n" +
// getDepartureTime + "\n" + getArrivalTime);
for (Segment segmenti : tripin.getSegments()){
String getSegmentOrigin = segmenti.getDepartureTime();
String getSegmentDestination = segmenti.getArrivalTime();
// System.out.println("Segment: " + "\n" + getSegmentOrigin + "\n" + getSegmentDestination);
}
}
HashMap<String, String> list = new HashMap<String, String>();
list.put(getDestinationCity, getTotalPrice);
hardlist.add(list);
}
}
}
aber ich werde Tausende Felder in der Zukunft haben. Ich denke, es ist keine gute Idee, sie alle von Hand zu schreiben. Ich habe die Zeichenkette mit getDestinationCity getTotalPrice bezeichnet. – bkm
Der 'from' -Parameter ist' Eine Liste von Spaltennamen, die zu der Karte hinzugefügt werden, die mit jedem Element verbunden ist'. Also hier nur die Namen Ihrer Spalten ... Haben Sie Tausende von Spalten? Ich denke nicht... – Rucsi