onitemlongclick从sqlite获取id然后删除

时间:2013-09-05 10:45:46

标签: android android-sqlite

我很难通过onitemlongclick删除我,我是android的新手,所以请饶我。

这是我的流程

  1. 从sqlite>中获取我的数据的 *完成
  2. 设置onitemlongclick监听器然后弹出对话框以删除 *完成
  3. 获取行'id'并从sqlite中删除它。 *未完成
  4. 假设我有这张桌子

     tableuser
    
    
     uniqid  | name | username
         2d1 | e    | e1
         cc2 | d    | d1
         2cd | c    | c1
    
    到目前为止,我得到了

    public void list() {
            // progressDialog.dismiss();
            dataAdapter = new MyCustomAdapter(this, R.layout.newrecord_item,
                    accompList);
    
            // Assign adapter to ListView
            listView.setAdapter(dataAdapter);
    
        } 
    
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                        final int arg2, long arg3) {
                    // TODO Auto-generated method stub
    
    
                    alertDialog = new AlertDialog.Builder(NewRecords.this).create();
                    alertDialog.setTitle("Delete Record");
                    alertDialog.setMessage("Delete Employee Record?");
                    alertDialog.setButton("YES",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    // TODO Auto-generated method stub
                                    dataAdapter.getItem(arg2);
    
    
                                }
                            });
                    alertDialog.setButton2("NO",
                            new DialogInterface.OnClickListener() {
    
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    // TODO Auto-generated method stub
    
                                }
                            });
                    alertDialog.show();
                    return false;
                }
    

    我需要知道如何在android上执行删除

1 个答案:

答案 0 :(得分:1)

在getView()中进行更改:

对于您返回的每个视图,请为视图设置标记。标签应该是您在上表中说明的唯一ID。

view.setTag(uniqueId[position]);

return view;

position是getView()中收到的整数值。

当用户点击列表项时,您可以获得点击的视图。从视图中获取标记。

Integer uniqueId = Integer.valueOf(String.valueOf(view.getTag()));

然后,使用此uniqueId整数值,写入删除sql查询并传递此唯一ID,以便删除具有此uniqueId的行。

并提交数据库更改。