RecyclerView复制每个项目

时间:2016-11-22 02:58:41

标签: android android-recyclerview

我在处理recyclerview时遇到问题,当我在打开另一个活动后返回活动时,它会复制我显示的所有项目。有没有什么办法解决这一问题?

与列表视图类似,它只是自动清除列表然后再次显示。你能告诉我怎么样吗?感谢

  

的OnCreate

int x = 0;
                for(String Name : property_name){
                    JSONObject jsonObject = arrayResponse.getJSONObject(x);
                    property_id[x] = jsonObject.getString("property_id");
                    property_name[x] = jsonObject.getString("property_name");
                    type[x] = jsonObject.getString("property_type");
                    price[x] = jsonObject.getString("price");
                    address[x] = jsonObject.getString("address");

                    ListingNearby listingNearby = new ListingNearby(property_id[x], property_name[x], type[x], price[x], Math.round(distance[x]));
                    x++;
                    list.add(listingNearby);

                }

                recyclerView = (RecyclerView) findViewById(R.id.ln_recycler_view);
                layoutManager = new LinearLayoutManager(this);
                recyclerView.setLayoutManager(layoutManager);
                recyclerView.setHasFixedSize(true);
                adapter = new ListingNearbyAdapter(list);
                recyclerView.setAdapter(adapter);

我想知道放在onResume中的内容,以便列表视图清除列表然后再次显示它。

2 个答案:

答案 0 :(得分:3)

在开始循环之前尝试list.clear()。我想你的列表是一种静态变量。

答案 1 :(得分:0)

在您的适配器中覆盖这两种方法:

@Override
public int getItemCount() {
    return reviewModels.size();
}

@Override
public long getItemId(int position) {
    return position;
}

对我有用