Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使listview的json正常工作_Java_Android_Json_String_Parsing - Fatal编程技术网

Java 无法使listview的json正常工作

Java 无法使listview的json正常工作,java,android,json,string,parsing,Java,Android,Json,String,Parsing,我已经有PHP从MySQL中提取信息并编码为json,下面是示例输出: [{"name":"Player A","score":1459},{"name":"Player B","score":1434}] 我正在努力遵循指南,以便将其解析为listview。首先,它似乎过于复杂,需要自定义适配器、定义所有内容的大型自定义类等 我是否天真地认为应该有一种简单的方法从URL读取这些数据并分配给listview?我只需要一个基本的记分板的名称和分数字段 即使我可以将整个输出拆分成字符串,这也足够了

我已经有PHP从MySQL中提取信息并编码为json,下面是示例输出:

[{"name":"Player A","score":1459},{"name":"Player B","score":1434}]
我正在努力遵循指南,以便将其解析为listview。首先,它似乎过于复杂,需要自定义适配器、定义所有内容的大型自定义类等

我是否天真地认为应该有一种简单的方法从URL读取这些数据并分配给listview?我只需要一个基本的记分板的名称和分数字段

即使我可以将整个输出拆分成字符串,这也足够了,因为我可以执行textview.setText(string1)等等


如果有人有一个从URL提取json并能够将其传递到listview的工作示例,或者如果更简单,能够将输出传递到字符串?

创建一个类SimpleModel.java

public class SimpleModel {


    private int score;
    private String name;

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
然后像这样使用
Gson
解析它

    String YOUR_RESPOSE_STRING = "";
    Gson gson = new Gson();
    Type lisType = new TypeToken<ArrayList<SimpleModel>>() {
    }.getType();
    ArrayList<SimpleModel> list = gson.fromJson(YOUR_RESPOSE_STRING, lisType);
String您的_RESPOSE_String=”“;
Gson Gson=新的Gson();
类型ListType=新类型令牌(){
}.getType();
ArrayList=gson.fromJson(您的响应字符串,ListType);

最好使用RecyclerView解析json数据。此链接是解析json数据最简单的方法。
试试看:)

使用Gson读取json字符串并将模型类设置为json字符串,将该模型类的Arraylist设置为您的客户列表的Adpter。@user9739950首先您可以尝试使用这个方法。这是本机方法。如果您想要最新的方法,可以使用改型。我确实可以部分使用这个方法,但它会滚动每个项目的整个屏幕,并且每次也复制一个背景。在放弃并尝试其他东西之前,我玩了几个小时。这个链接工作得很好。在整个屏幕中滚动每个项目的原因是项目xml的设计问题。在xml中为小部件指定特定高度:)我在无法使其工作后很久就删除了它-我尝试编辑布局高度,把它放在一个嵌套的布局中并限制它的高度,所做的只是在一个较小的窗口中,每页滚动一个项目。此外,这似乎还有很多额外的东西,我希望这会容易得多。好吧,我又看了一遍,并对它进行了调整,以适应我的代码等,但现在我又在每个屏幕上有一个列表项,所以它需要一个完整的卷轴来显示每个“姓名分数”-我如何将它们保持在一个屏幕上?我的目标是每次只拉10个项目,这样就可以很容易地找到这些项目。请问对URL的调用将添加到哪里?对于URL调用,您必须使用截击、改装并从URL获得响应。我给出的答案是,在遍历响应后解析json数组