从数据库中删除项目 - ListView - Android

Fah*_*mad 2 database android listview

public class DataViewActivity extends Activity{
SQLiteDatabase db;
SimpleCursorAdapter adapter;
String dbTable = "users";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_layout);
ListView listView = (ListView) findViewById(R.id.dbPop);

DBHelper dbhelper = new DBHelper(DataViewActivity.this);
db = dbhelper.getWritableDatabase();

Cursor cursor = db.query(dbTable, null, null, null, null, null, null);
startManagingCursor(cursor);

String[] from = new String[] { "name","_id"};
int[] to = new int[] { android.R.id.text1 };
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from,
        to);

    listView.setAdapter(adapter);
  }
}
Run Code Online (Sandbox Code Playgroud)

如何实现对此代码的onClick侦听器以删除所选的数据库行.我对Android知之甚少,所以对我来说这是一个学习曲线.

Sam*_*iya 7

设置setOnItemClickListener为列表视图...

listview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {

            database.remove(id);//create removemethod in database class

        }
    });
Run Code Online (Sandbox Code Playgroud)

并在删除方法

    public void remove(long id){
        String string =String.valueOf(id);
        database.execSQL("DELETE FROM favorite WHERE _id = '" + string + "'");
    }
Run Code Online (Sandbox Code Playgroud)