Jsondatalistview仅显示最后一个值。怎么做?

时间:2018-09-05 03:00:19

标签: android json

Android:我想在JsondataListview Man activity.java中显示每次点击的所有查询,例如activity_viewcustom_list中的ID名称和性别。但是仅显示最后一个sex

  

怎么了?

enter image description here

3 个答案:

答案 0 :(得分:1)

是的,您正在同一视图上设置数据。

尝试一下:

textView.setText(object.get("id").toString()+", "+object.get("name").toString()+", "+object.get("sex").toString());

答案 1 :(得分:1)

  

怎么了?

是的,它仅显示最后一个值。因为您添加了不同的值,所以是相同的文本视图。这就是为什么它仅包含最后一个设置值的原因。

解决方案:

您可以管理三个不同的textView来显示数据或显示textView中的所有数据。

所有值为一个textView

textView.setText(object.get("id").toString()+", "+object.get("name").toString()+", "+object.get("sex").toString());

OR

使用三个不同的textView来处理不同的数据,如下所示:

TextView textViewId = findViewById(R.id.text_view_id);
TextView textViewName = findViewById(R.id.text_view_name);
TextView textViewSex = findViewById(R.id.text_view_sex);

try {
    JSONObject jsonObj = new JSONObject(Jsoninstance);
     textViewId.setText(object.get("id").toString()
     textViewName.setText(object.get("name").toString()
     textViewSex.setText(object.get("sex").toString()
    }catch (final JSONException e) {
        Log.e(TAG, "Json parsing error: " + e.getMessage());
    }

注意:以这种方式,您必须在布局上添加ID为textViewtext_view_idtext_view_name的三个text_view_sex

希望这会有所帮助。

答案 2 :(得分:0)

是的,您做错了,因为您正在将不同对象的值传递给同一View,即TextView。您应该在此处使用三个不同的TextView来显示JSON数据值。

textView1 = findViewById(R.id.text1);
textView2 = findViewById(R.id.text2);
textView3 = findViewById(R.id.text3;

try {
    JSONObject jsonObj = new JSONObject(Jsoninstance);
     text1.setText(object.get("id").toString()
     text2.setText(object.get("name").toString()
     text3.setText(object.get("sex").toString()
}catch (final JSONException e) {
     System.out.println(e.getMessage());
}