将JSON数据填充到ListView

时间:2016-08-11 13:37:50

标签: java android listview android-volley

我试图在Volley的帮助下从MySQL数据库中显示检索到的数据,并将其填充到JsonArrayRequest req = new JsonArrayRequest(urlJsonArry, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { Log.d("TAG", response.toString()); try { ArrayList<HashMap<String, String>> authorList = new ArrayList<>(); for (int i = 0; i < response.length(); i++) { JSONObject obj = (JSONObject) response.get(i); String username = obj.getString("username"); String email = obj.getString("email"); String password = obj.getString("password"); usernameAll += "UserName: " + username + "\n\n"; emailAll += "Email: " + email + "\n\n"; passwordAll += "Password: " + password + "\n\n"; } 中。 到目前为止,我尝试了每种方法都无法做到。

TextView

我已检索到&#39; 用户名&#39;,&#39; 电子邮件&#39;和&#39; 密码&#39;我可以通过myTextView.setText(usernameAll + " " + ..);Simple ListView中成功展示。但是现在我只想打印/填充用户名&#39;在HashMap<String, String> myData = new HashMap<>(); myData.put("justKey", usernameAll); adapter1 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, myData); listView.setAdapter(adapter1);

Array

当我拿一些myData并调用该数组时,它会起作用,但为什么Custom ListView不起作用。能帮我理解实际问题吗? 我的下一步将是使用layoutSubviews,但现在我渴望&#34; 实际上是如何工作的&#34;

如果你纠正我解决这个问题的方法,我将非常感激。

谢谢。

PS:我从Android Studio 2.1.2收到此错误:

  

无法解析构造函数&#39; ArrayAdapter(android.content.Context,int,   int,java.lang.String)&#39;

1 个答案:

答案 0 :(得分:1)

你无法将hashmap传递给数组适配器

https://developer.android.com/reference/android/widget/ArrayAdapter.html

将其转换为文档中提到的列表

//Code Getting Collection of values from HashMap

Collection<String> values = myData.values();

//Creating an ArrayList of values

ArrayList<String> listOfValues = new ArrayList<String>(values);

有关详细信息,请查看以下链接 http://javaconceptoftheday.com/how-to-convert-hashmap-to-arraylist-in-java/