0

我知道这个问题已经发布了多次,我浏览了几乎所有但没有结果,我正在从 mysql 数据库中删除一个项目,但它没有刷新,这里是 onclicklistener 和按钮的代码:

onClick 监听器:

 holder.void_button.setOnClickListener(new OnClickListener(){

    public void onClick(View v) {
    adapter = new CustomListViewVoidAdapter(context,R.layout.mytemp, items);
    item_selected= items.get(position);
        new DeleteOrder().execute();
               }});
            vi.setTag(holder);
        }

来自 AsyncTask 的 OnPostExecute:

 protected void onPostExecute(String unused){
            adapter.remove(item_selected);
            adapter.notifyDataSetChanged();
        }

适配器是全局安装的,你能检查一下问题可能出在哪里吗?它没有返回任何错误,只是删除项目而不刷新。

问候

拉尔夫

4

3 回答 3

1

把它扔在那里,但是,你试过 adapter.notifyDataSetInvalidated(); 吗?这会强制更新。

另外,将代码放在 asynctask 中!

像这样:

protected void onPostExecute() {

   adapter.notifyDataSetChanged();
   adapter.notifyDataSetInvalidated();


}
于 2013-08-28T10:31:03.903 回答
0

在 postExecute 中添加以下行。

if(adapter != null) { 
    adapter = new CustomListViewVoidAdapter(context,R.layout.mytemp, items);
    YourListviewObject.setAdapter(adapter); 
}
于 2013-08-28T10:41:15.700 回答
0

onPostExecute您最好使用新值再次将适配器设置为列表视图。notifyDataSetChanged在这种情况下你不需要打电话。也不要在 中重新初始化适配器onClick,这不是必需的。

于 2013-08-28T10:30:14.463 回答