我正在尝试创建一个从数据库中获取某些值的应用。 我在数据库中寻找的值有多个 条目,但在Android中它只显示它找到的第一个。我认为我只需要1/2行,但我不知道什么& where。
private void getData() {
String qrcode = textView1.getText().toString().trim();
if (qrcode.equals("")) {
Toast.makeText(this, "", Toast.LENGTH_LONG).show();
return;
}
loading = ProgressDialog.show(this,"Please wait...","Fetching...",false,false);
String url = Config.DATA_URL+textView1.getText().toString().trim();
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(SecondActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String title="";
String image = "";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.JSON_ARRAY);
JSONObject androidData = result.getJSONObject(0);
title = androidData.getString(Config.KEY_TITLE);
image = androidData.getString(Config.KEY_IMAGE);
} catch (JSONException e) {
e.printStackTrace();
}
textViewResult.setText("Title:\t" + title);//+"\nImagine :\t"+ image);
Picasso.with(this).load("http://192.168.1.254/2015/380panel/uploads/images/sm/" + image).into(ImageView1);
}
@Override
public void onClick(View v) {
getData();
}
答案 0 :(得分:0)
您似乎只接受了回复的第一个结果:
JSONObject androidData = result.getJSONObject(0);
title = androidData.getString(Config.KEY_TITLE);
image = androidData.getString(Config.KEY_IMAGE);
并且您只填充一个textview:
textViewResult.setText("Title:\t" + title);//+"\nImagine :\t"+ image);
如果要查看所有结果,您需要对jsonArray中收到的每个json对象进行迭代/循环并填充textview列表!