我试图在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;
答案 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/