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

问题描述 投票:0回答:3

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

怎么了?

enter image description here

android json
3个回答
1
投票

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

试试这个 :

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

1
投票

怎么了?

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

解:

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

所有值都是一个textView

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

要么

对于不同的数据使用三个不同的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());
    }

注意:通过这种方式,您必须在布局上添加三个textView,其中包含id text_view_idtext_view_nametext_view_sex

希望这会有所帮助。


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());
}
© www.soinside.com 2019 - 2024. All rights reserved.