使用适配器类从列表视图和数据库中删除已检查项

时间:2015-10-06 04:13:04

标签: java android sqlite

 public class delete extends BaseAdapter {
  SQLiteDatabase db;

String am;


 private final Context c;
private final ArrayList<String> str;
 private final String[] number;


ArrayList<Integer> checks=new ArrayList<Integer>();

public delete(Context c, ArrayList<String> str, String[] number, ArrayList<Integer> checks) {
    this.c = c;

    this.str = str;


    this.number = number;
    this.checks=checks;
}




@Override
public int getCount() {

    return str.size();


}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater= (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View ListView ;


    if(convertView==null)
    {
        ListView=new View(c);
        ListView=inflater.inflate(R.layout.button,null);

        TextView textview=(TextView) ListView.findViewById(R.id.textView6);
        textview.setText(str.get(position));



    }

    else
    {
        ListView=(View)convertView;
    }

    Button btnupdate=(Button)ListView.findViewById(R.id.button4);



      //checkbox declaration  
    CheckBox chk=(CheckBox)ListView.findViewById(R.id.chk1);




btnupdate.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
      db=c.openOrCreateDatabase("Student",Context.MODE_PRIVATE, null);
      String num = number[position];
      Cursor cc=db.rawQuery("select mobile from detail where mobile='"+num+"'", null);

      if (cc.moveToFirst()) {
          do {


               am = cc.getString(cc.getColumnIndex("mobile"));




             } while (cc.moveToNext());

      }



      Intent i=new Intent(c,Update.class);

      i.putExtra("value",am);
      c.startActivity(i);

  }



});













    return ListView;
  }



    }

//使用更新按钮显示列表视图中的所有数据,并在列表视图中显示复选框。有删除按钮,用于删除所有被检查的项目。 //删除按钮位于添加列表视图的主要活动上。

1 个答案:

答案 0 :(得分:0)

您可以在DataBase类中创建一个方法,并传递要删除的表名和条目以及id(如果有的话)。在ListView项的onClick上调用该方法。

public void deleteEntry(String tableName,String columnName,String id)
          {
              openDatabase();
              database.delete(tableName, columnName + " = ?",new String[] { id });
              closeDatabase();
          }