2016-08-04 30 views
0

我有购物车页面,但问题是,我不能从购物车删除项目时,点击删除图片,在我的数据库中我有删除方法,并ListView中我删除即可图像,给OnClickListener的适配器,请看看我的代码,并建议我.. DataBasehelper1.java:删除行的车时,点击删除列表中的ImageVIewof行项目

public int deleteContact(int id) { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     return db.delete(CONTACTS_TABLE_NAME, CONTACTS_PRODUCT_ID + " = "+id, null); 
} 

ListViewAdapter.java:

public class ListViewAdapter extends BaseAdapter { 

String productId = "0"; 
    public View getView(final int position, View convertView, ViewGroup parent) { 

     holder.remove =(ImageView)convertView.findViewById(R.id.removeIV); 

     holder.remove.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) 
     { 
     db.deleteContact(Integer.valueOf(productId)); 
      //list.remove(getItem(position)); 

      Toast.makeText(v.getContext(), "removed ",Toast.LENGTH_SHORT).show(); 

     } 
    }); 

} 
+0

所以你我猜你已经调用了一个函数来删除,但你没有通过删除视图来更新UI – himanshu1496

+0

你也删除了一个productId,它的值为零,所以总是删除你的数据库中的特定行 – himanshu1496

回答

0

你应该尝试这个:db.deleteContact(Integer.valueOf(position)); 你这样做的方式,它总是会删除数据库中的第一个项目,因为你在开始时设置了productId = 0。 并且确保在从数据库中删除某些东西后通知您的适配器。

+0

我有我的静态应用程序中有10款产品,并且我已将产品ID分配给每个产品,请告诉我将产品ID从该片段传递到此适配器的正确方法? – Charmi

+0

你可以请张贴片段和适配器的代码吗?只是更新您的原始帖子 – Gorg