Вопрос по database, android, listview – Удалить элемент из базы данных - ListView - Android
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);
}
}
Как реализовать onClick слушатель этого кода для удаления выбранной строки базы данных. Я мало знаю об Android, поэтому для меня это кривая обучения.
Ваш вопрос мне очень помог ... :)
Gopal00005
3
ответа
listview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View v, int pos,long id) {
// TODO Auto-generated method stub
{
TextView tv=(TextView)v;
String s1=tv.getText().toString();
//delete row
String delgrp="DELETE FROM (tablename) WHERE (row)='"+s1+"'";
sdb.execSQL(delgrp);
}
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
}
});
and in remove method
public void remove(long id){
String string =String.valueOf(id);
database.execSQL("DELETE FROM favorite WHERE _id = '" + string + "'");
}
ListView.onListItemClick
в качестве третьего параметраposition
. Position
это запись, возвращеннаяAdpater.getItem(int)
, Поэтому, когда вы нажимаете на строку вашегоListView
,ListView.onListItemClick
уволен. Там вы можете получить свою запись Адаптера и использовать информацию, необходимую для удаления записи из базы данных.
View v, int position, long id) {
// do something with the cursor
}
Похожие вопросы
Ваш вопрос мне очень помог ... :)