Android notifyDataSetChanged没有更新现有项目的视图?

时间:2016-06-18 05:16:22

标签: java android adapter

Android的新手,很难弄清楚为什么 notifyDataSetChanged(); 不会更新重新插入时从视图中删除的项目。在删除项目时工作得很好,但在将项目恢复到查看视图中的现有项目时则不行。任何帮助表示赞赏。

UsersAdapter.java

if($res !== FALSE){
  foreach ($res as $row)
  {
      echo $row->name;
  }
}

1 个答案:

答案 0 :(得分:1)

替换你的Snackbar代码

Snackbar snackbar = Snackbar
                        .make(view, name + " Removed!", Snackbar.LENGTH_LONG)
                        .setActionTextColor(context.getResources().getColor(R.color.dot_dark_screen1))
                        .setAction("UNDO", new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                context = view.getContext();
                                final User mDataSet3 = mDataSet.get(getAdapterPosition());;
                                String url = mDataSet3.getEmail();
                                String name = mDataSet3.getName();
                                String query = "INSERT INTO faces (name,url) VALUES('"+name+"', '"+url+"');";
                                db.execSQL(query);
                                mDataSet.add(mDataSet3);
                                 notifyDataSetChanged();
                                Snackbar snackbar3 = Snackbar.make(view, name + " Favorited!", Snackbar.LENGTH_SHORT);
                                snackbar3.show();
                            }
                        });
                snackbar.show();