JSON Daten in Auswahlliste

  • Antworten:0
  • Bentwortet
Jördis M.
  • Forum-Beiträge: 2

18.04.2012, 14:41:15 via Website

Hallo liebe Mitentwickler,


ich habe folgendes Problem, ich lasse mir nach Auswahl einer Stadt eine Liste von aus einer SQL Datenbank lesen und übertrage diese im JSON-Format in meine App. Nun möchte ich die einzelnen Geschäfte wieder in einer Auswahlliste stehen haben um erneut eine Abfrage an den Webserve zu schicken. Aber ich bekomme leider alle Geschäfte im ersten Auswahlpunkt angezeigt und nicht jeden einzelnd.

Codeschnipsel:

Das holen der JSON Daten
1try{
2 HttpClient client = new DefaultHttpClient();
3 HttpPost post = new HttpPost("webserver");
4
5 List<NameValuePair> pairs = new ArrayList<NameValuePair>();
6 pairs.add(new BasicNameValuePair("mid", mid));
7 post.setEntity(new UrlEncodedFormEntity(pairs));
8
9 HttpResponse response = client.execute(post);
10
11 HttpEntity entity = response.getEntity();
12
13 InputStream is = entity.getContent();
14 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
15 StringBuilder sb = new StringBuilder();
16 String line = null;
17 while ((line = reader.readLine()) != null) {
18 sb.append(line + "\n");
19 }
20 is.close();
21
22 result=sb.toString();
23
24 // Toast.makeText(this, result, Toast.LENGTH_LONG).show();
25
26
27 JSONArray jsonArray = new JSONArray(result);
28 for (int i = 0; i < jsonArray.length(); i++) {
29 JSONObject nextBall = (JSONObject)
30 jsonArray.getJSONObject(i);
31 Log.e("LOG_TAG", nextBall.getString("id") +
32 " - " + nextBall.getString("bezeichnung")+
33 " - "+ nextBall.getString("id_adressen"));
34 }

Der Versuch des Einfügens in die Auswahlliste:

1case R.id.auswahlres:
2 Log.d(TAG, "onClick: Restaurant auswählen");
3
4
5 String littlehelper = "";
6 try{
7 //Verarbeiten der JSON Daten um die Auswahlbox zu füllen
8 JSONArray jsonArray = new JSONArray(result);
9
10 for (int i = 0; i < jsonArray.length(); i++) {
11 JSONObject restaurant = (JSONObject)
12 jsonArray.getJSONObject(i);
13 Log.e("LOG_TAG", restaurant.getString("id") +
14 " - " + restaurant.getString("bezeichnung")+
15 " - "+ restaurant.getString("id_adressen"));
16
17 String bighelper = restaurant.getString("bezeichnung");
18 littlehelper = littlehelper+" "+"'"+bighelper+"'"+",";
19 }
20
21 littlehelper = littlehelper.replaceAll("\'", "\"");
22 }
23 catch(Exception e)
24 {Log.e("LOG_TAG:", "Das Schreiben der Restaurants ist fehlgeschlagen");}
25 //Festlegen der Items in der Auswahlliste
26 final CharSequence[] items2 = {littlehelper.toString()};
27 //Dialogbox vorbereiten
28 AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
29 builder2.setTitle("Wählen sie ein Restaurant in "+stadt+" aus.");
30 builder2.setItems(items2, new DialogInterface.OnClickListener() {
31 public void onClick(DialogInterface dialog, int item) {
32 // if(items2[item]=="zurück")
33 // {}
34 // else{
35 anzeigeres.setText(items2[item]);
36 //gerichte();
37 // }
38 }
39 });
40 AlertDialog alert2 = builder2.create();
41
42 alert2.show();

Antworten