选择最后一个选项卡后,ListView在选项卡上重复

时间:2016-06-09 04:17:25

标签: android listview android-fragments

你好,我在一个奇怪的问题上运行。我的标签上的列表视图加载正常。我遇到的问题是当我滚动到最后一个选项卡然后返回其他选项卡时,他们的列表已重复。什么可能导致这种情况发生的想法?提前谢谢。

爪哇:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.news_tab, container, false);
        swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_refresh_layout);
        swipeRefreshLayout.setOnRefreshListener(this);

        newslist = (ListView) view.findViewById(R.id.displaynews);

        newsName = getArguments().getString("newsName");
        loadnews(newsName);
        if (adapter == null) {
            adapter = new CustomAdapter(getActivity(), listnews);
            newslist.setAdapter(adapter);
            adapter.notifyDataSetChanged();
        }else{
            newslist.setAdapter(adapter);
        }


        return view;

    }

Loadnews方法:

public LinkedList<News> loadTopNews(){
     String result = pullfromDB();
try{
            jArray = new JSONArray(result);
            for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
     );


                        news = new News(json_data.getString("id"), title.toUpperCase(), json_data.getString("date"));
                        listnews.add(news);

                    }
                }
            }
        }catch(JSONException e){
            Log.e("log_tag", "Error parsing data " + e.toString());
        }

        return listnews;
    }
}

2 个答案:

答案 0 :(得分:1)

每次在片段中

onCreateView方法调用。

以下行每次都会在列表中添加数据,因此您将获得重复数据。

loadnews(newsName);

答案 1 :(得分:1)

检查答案,并在下面的代码中替换methid,

{{1}}