Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android将JSONObject转换为HashMap,并使用SimpleAdapter在ListView中显示_Android_Json_Listview - Fatal编程技术网

Android将JSONObject转换为HashMap,并使用SimpleAdapter在ListView中显示

Android将JSONObject转换为HashMap,并使用SimpleAdapter在ListView中显示,android,json,listview,Android,Json,Listview,我尝试搜索将JSONObject转换为HashMap,但大多数结果都是针对Java而不是Android的。因此,我希望有人可以分享,如果你有这样做的经验之前 listview_与_simpleAdapter_和_hashmap.java JSON也运行良好。格式与ListView数据->ID和名称完全相同 因此,我的问题是如何使用simpledapter_和hashmap.java将omg.php中的JSONObject转换为listview_?我只需要一个简单的例子。您可以这样做: ListV

我尝试搜索将JSONObject转换为HashMap,但大多数结果都是针对Java而不是Android的。因此,我希望有人可以分享,如果你有这样做的经验之前

listview_与_simpleAdapter_和_hashmap.java

JSON也运行良好。格式与ListView数据->ID和名称完全相同


因此,我的问题是如何使用simpledapter_和hashmap.java将omg.php中的JSONObject转换为listview_?我只需要一个简单的例子。

您可以这样做:

ListView listView = (ListView) findViewById(R.id.listView);

// ...

@Override
public void onResponse(JSONObject response) {
    List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

    try {
        Iterator<String> iterator = response.keys();

        while (iterator.hasNext()) {
            String key = iterator.next();
            String value = response.getString(key);

            HashMap<String, String> map = new HashMap<>();
            map.put(KEY_ID, key);
            map.put(KEY_NAME, value);

            list.add(map);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

    if(list.size() > 0) {
        String[] from = {KEY_ID, KEY_NAME};
        int[] to = {R.id.text_id, R.id.text_name};

        SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, list,
            R.layout.list_item, from, to);

        listView.setAdapter(adapter);
    }
}

你可以这样做:

ListView listView = (ListView) findViewById(R.id.listView);

// ...

@Override
public void onResponse(JSONObject response) {
    List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

    try {
        Iterator<String> iterator = response.keys();

        while (iterator.hasNext()) {
            String key = iterator.next();
            String value = response.getString(key);

            HashMap<String, String> map = new HashMap<>();
            map.put(KEY_ID, key);
            map.put(KEY_NAME, value);

            list.add(map);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

    if(list.size() > 0) {
        String[] from = {KEY_ID, KEY_NAME};
        int[] to = {R.id.text_id, R.id.text_name};

        SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, list,
            R.layout.list_item, from, to);

        listView.setAdapter(adapter);
    }
}

尝试以下代码将Jsonobject转换为hashmap

 Map<String, String> params = new HashMap<String, String>();
                try
                {

                   Iterator<?> keys = jsonObject.keys();

                    while (keys.hasNext())
                    {
                        String key = (String) keys.next();
                        String value = jsonObject.getString(key);
                        params.put(key, value);

                    }


                }
                catch (Exception xx)
                {
                    xx.toString();
                }

尝试以下代码将Jsonobject转换为hashmap

 Map<String, String> params = new HashMap<String, String>();
                try
                {

                   Iterator<?> keys = jsonObject.keys();

                    while (keys.hasNext())
                    {
                        String key = (String) keys.next();
                        String value = jsonObject.getString(key);
                        params.put(key, value);

                    }


                }
                catch (Exception xx)
                {
                    xx.toString();
                }

试试这个答案@codephillip那甚至不是安卓-试试这个答案@codephillip那甚至不是安卓--
 Map<String, String> params = new HashMap<String, String>();
                try
                {

                   Iterator<?> keys = jsonObject.keys();

                    while (keys.hasNext())
                    {
                        String key = (String) keys.next();
                        String value = jsonObject.getString(key);
                        params.put(key, value);

                    }


                }
                catch (Exception xx)
                {
                    xx.toString();
                }