【发布时间】:2016-12-18 06:54:20
【问题描述】:
我试图在 Volley 的帮助下显示从 MySQL 数据库中检索到的数据,并将其填充到 ListView 中。
到目前为止,我尝试了所有方法,但我无法做到。
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";
}
由于我已检索到 'username'、'email' 和 'password' 我可以通过 TextView 成功显示它myTextView.setText(usernameAll + " " + ..);。但现在我只想在Simple ListView中打印/填充“用户名”
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,但现在我渴望“实际工作原理”
如果您能纠正我解决此问题的方法,我将不胜感激。
谢谢。
PS:我从 Android Studio 2.1.2 收到此错误:
无法解析构造函数 'ArrayAdapter(android.content.Context, int, int, java.lang.String)'
【问题讨论】:
-
您的列表视图适配器代码是什么?老实说,从自定义列表视图开始最容易,在这种情况下学习它的最好方法比通用,直接跳进去。当你说 myData 不起作用时,你是什么意思? usernameAll 是否返回为空?为什么不创建一个保存用户名、电子邮件和密码的用户对象,并将它们存储在数据结构中,当您在列表视图中显示它们时会更容易显示它们。
-
你好@Steeno!谢谢你的cmets。好吧,我被困住了,我不知道该怎么办。其实这是我第一次尝试。我的代码最多 String password = obj.getString("password");对我没问题。你建议给我的另一个。所以如果你告诉我怎么做会更有帮助吗? |
usernameAll不为空,我可以在 TextView 上显示它。但不能在 ListView 中。如果您想向我推荐任何其他代码,那就太好了。谢谢。 -
我收到此错误:
Cannot resolve constructor 'ArrayAdapter(android.content.Context, int, int, java.lang.String)'来自此声明:adapter1 = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, usernameAll);
标签: java android listview android-volley