【问题标题】:Parsing JSON from remote database to Android ListView将 JSON 从远程数据库解析到 Android ListView
【发布时间】:2015-12-06 16:27:39
【问题描述】:

我已经设法在我的网站上创建了一个 JSON 端点。这个 JSON 被输入到我的 android 项目中,被解析并存储在一个列表视图中。我遇到的问题是,不是在列表的每个元素中打印每个 JSON 对象,而是添加了一个 JSON 对象 - 使列表的每个元素更长。

列表示例:

数据1

数据1 数据2

数据1 数据2 数据3

数据1 数据2 数据3 数据4

我正在寻找:

数据1

数据2

数据3

我的代码如下,谁能指出我可能出错的地方?

public void setTextToTextView(JSONArray jsonArray){
        String s = "";
        CharSequence news_title = getResources().getText(R.string.news_title);
        ArrayList<String> arrayList = new ArrayList<String>();
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.simplerow,R.id.rowTextView, arrayList);
        for (int i=0; i<jsonArray.length(); i++){
            JSONObject jsonResponse;
            try {
                jsonResponse = jsonArray.getJSONObject(i);
                s = s +
                        Html.fromHtml(news_title.toString())
                        +jsonResponse.getString("subject")+"\n"+
                        "Posted By :"+jsonResponse.getString("postedby")+"\n"+"\n";
                arrayList.add(s);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        Log.e("JSON Response:", arrayList.toString());
        arrayAdapter.add(s);
        this.newsResponseListView.setAdapter(arrayAdapter);
    }

【问题讨论】:

    标签: java android arrays json


    【解决方案1】:

    变量s 在方法setTextToTextView() 中是全局变量,您在循环中使用它:

     s = s + Html.fromHtml(news_title.toString())
                            +jsonResponse.getString("subject")+"\n"+
                            "Posted By :"+jsonResponse.getString("postedby")+"\n"+"\n";
    

    因此它将先前的数据附加到下一个数据。

    我应该改变什么?

    只需删除String s(第一个声明)并在循环内写下:

         String s =Html.fromHtml(news_title.toString())
                                +jsonResponse.getString("subject")+"\n"+
                                "Posted By :"+jsonResponse.getString("postedby")+"\n"+"\n";
         arrayList.add(s);
    

    【讨论】:

    • 谢谢@VVJ,我不知道我怎么没注意到!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多