JSON zu listView in android

Ich versuche JSON zu ListView. Ich bekomme Daten aus http://api.androidhive.info/contacts/ (nur über das Feld name ein) ich bin in der Lage, Sie zu array, aber ich bin nicht in der Lage, Sie in die Liste,

[HINWEIS]
jedoch die ListView macht genau 13 Zeilen für die 13 Einträge (Anzahl der Namen) aber die Zeilen sind leer.

private class GetJidla extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //Showing progress dialog
        pDialog = new ProgressDialog(TableMenuActivity.this);
        pDialog.setMessage("Please wait...");
        pDialog.setCancelable(false);
        pDialog.show();

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        //Creating service handler class instance
        ServiceHandler sh = new ServiceHandler();

        //Making a request to url and getting response
        String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);

        Log.d("Response: ", "> " + jsonStr);

        if (jsonStr != null) {
            try {
                JSONObject jsonObj = new JSONObject(jsonStr);

                //Getting JSON Array node
                jidla = jsonObj.getJSONArray(TAG_CONTACTS);

                //looping through All Contacts
                for (int i = 0; i < jidla.length(); i++) {
                    JSONObject c = jidla.getJSONObject(i);

                  // String id = c.getString(TAG_ID);
                    String name = c.getString(TAG_NAME);


                    //tmp hashmap for single contact
                    HashMap<String, String> contact = new HashMap<String, String>();

                    //adding each child node to HashMap key => value
                  // contact.put(TAG_ID, id);
                    contact.put(TAG_NAME, name);


                    //adding contact to contact list
                    jidlaList.add(contact);

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        } else {
            Log.e("ServiceHandler", "Couldn't get any data from the url");
        }



        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        //Dismiss the progress dialog
        if (pDialog.isShowing())
            pDialog.dismiss();
        /**
         * Updating parsed JSON data into ListView
         * */
        ListAdapter adapter = new SimpleAdapter(
                TableMenuActivity.this, jidlaList,
                android.R.layout.simple_list_item_1, new String[] {TAG_NAME}, new int[] {android.R.id.list,
                         });

        menu = (ListView)findViewById(android.R.id.list);
        menu.setAdapter(adapter); 

    } 

... und die Liste ist hier

<ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip" >



    </ListView>

ich brauche es, um auf einem Bildschirm, in eine Aktivität, hier ist das Bild, das braune lsit ist, wo ich es brauche

JSON zu listView in android

  • Hast du ein log um zu überprüfen, ob Daten kommen oder nicht ? Wenn Daten kommen, dann können Sie den hintergrund ändern der Listenansicht auf schwarz, weil manchmal die textview in der Farbe weiß ist und der text scheint unsichtbar zu sein
  • ja, ich kann die Daten auch mal in Reihe, logcat: 02-06 07:37:05.895: D/jidla:(1487): > [{name=Ravi Tamada}, {name=Johnny Depp}, {name=Leonardo Dicaprio}, {name=John Wayne}, {name=Angelina Jolie}, {name=Dido}, {name=Adele}, {name=Hugh Jackman}, {name=Will Smith}, {name=Clint Eastwood}, {name=Barack Obama}, {name=Kate Winslet}, {name=Eminem}] dies ist das Protokoll für array, Farbe zu ändern, nicht helfen
  • Dann könnten Sie versuchen, indem Sie Ihre eigenen benutzerdefinierten adapter ?
InformationsquelleAutor user3185930 | 2014-02-06
Schreibe einen Kommentar