Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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
Android 从列表视图和数据库中删除和刷新项目_Android - Fatal编程技术网

Android 从列表视图和数据库中删除和刷新项目

Android 从列表视图和数据库中删除和刷新项目,android,Android,删除记录后,我无法刷新列表视图 String str3 = favtitle.get(position); //position = Integer.parseInt(cur.getString(cur.getColumnIndex("id"))); db.delete("Favorites7","title= '"+str3+"'",null); //mSchedule.notifyDataSe

删除记录后,我无法刷新列表视图

        String str3 = favtitle.get(position);
        //position = Integer.parseInt(cur.getString(cur.getColumnIndex("id")));

                db.delete("Favorites7","title= '"+str3+"'",null);

                //mSchedule.notifyDataSetChanged();  
                cur.requery();

                cur= db.query("Favorites7", 
                        null, null, null, null, null, null);

                 cur.moveToFirst();
                  while (cur.isAfterLast() == false) {

                        //name.append("n" + cur.getString(1));
                       //mylist.addAll(cur.getString(i));
                      favtitle.add(cur.getString(1));
                      favloc.add(cur.getString(3));
                      favemp.add(cur.getString(2));
                      lat.add(cur.getString(7));
                      log.add(cur.getString(8));
                                //nextScreenData.add(cur.getString(2).toString());
                        cur.moveToNext();
                    }


                    cur.close();

                    mylist = new ArrayList<HashMap<String,Object>>();
                     HashMap<String,Object> map = new HashMap<String, Object>();

                     for(int i=0;i<favtitle.size();i++)
                     {
                         map = new HashMap<String, Object>();
                     map.put("train",favtitle.get(i));
                     map.put("value",favloc.get(i));
                     map.put("employer",favemp.get(i));

                     mylist.add(map);
                     }
                    mSchedule.notifyDataSetChanged(); 
                mSchedule = new SimpleAdapter(Favorites.this, mylist, R.layout.listdelete,
                             new String[] {"train","value","employer"}, new int[] {R.id.dept,R.id.jobloc,R.id.employer});
                    lv.setAdapter(mSchedule);
                     lv.setDividerHeight(2);
                     lv.setCacheColorHint(Color.WHITE);
                     //cur.requery();
String str3=favtitle.get(位置);
//position=Integer.parseInt(cur.getString(cur.getColumnIndex(“id”)));
db.删除(“Favorites7”,“title=”+str3+“”,null);
//msSchedule.notifyDataSetChanged();
当前重新查询();
cur=db.query(“Favorites7”,
空,空,空,空,空,空,空);
cur.moveToFirst();
while(cur.isAfterLast()==false){
//name.append(“n”+cur.getString(1));
//mylist.addAll(cur.getString(i));
favtitle.add(cur.getString(1));
favloc.add(cur.getString(3));
favemp.add(cur.getString(2));
lat.add(cur.getString(7));
log.add(cur.getString(8));
//nextScreenData.add(cur.getString(2.toString());
cur.moveToNext();
}
cur.close();
mylist=新的ArrayList();
HashMap=newHashMap();

对于(int i=0;i您只需创建一个新适配器,然后将其分配给ListView。

您可以调用您的适配器,当单击“删除”按钮时,它将反映对ui的更改。执行以下操作:

  • 从数据库中删除相应的列表项
  • 通过执行再次填充列表的查询,获取列表的新光标
  • 使用将新光标绑定到列表
  • 调用适配器

  • 我可以删除项目,但它没有刷新…它正在重新生成列表。当我返回并再次返回时,它会显示包含已删除项目的列表。我正在这样做:嗯,通常您的代码应该可以工作,尽管您用数据填充列表的概念有点奇怪。为什么不使用SimpleCursors将光标直接绑定到列表适配器?