Android 使用SQLite从ListView中删除视图
如您所见,我正在使用ListView打印我的SQL表。 我试图删除选定行,但找不到选定视图的位置:Android 使用SQLite从ListView中删除视图,android,android-sqlite,Android,Android Sqlite,如您所见,我正在使用ListView打印我的SQL表。 我试图删除选定行,但找不到选定视图的位置: public class MainActivity extends ListActivity { ArrayAdapter<String> adapter; ArrayList<String> listItems; SQLiteDatabase db; Cursor cursor; protected void onCreate(Bundle savedInstance
public class MainActivity extends ListActivity {
ArrayAdapter<String> adapter;
ArrayList<String> listItems;
SQLiteDatabase db;
Cursor cursor;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.db = (new DBManager(this, "myDB", null, 1)).getWritableDatabase();
listItems = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, listItems);
setListAdapter(adapter);
this.db = (new DBManager(this, "myDB", null, 1)).getWritableDatabase();
this.db.execSQL("CREATE TABLE IF NOT EXISTS items(id INTEGER, name VARCHAR,quantity INTEGER,catgory VARCHAR,warehouse VARCHAR);");
this.cursor = this.db.rawQuery("SELECT * FROM items;", null);
for(cursor.moveToFirst();cursor.getCount()>0 &&!cursor.isAfterLast() ;cursor.moveToNext()){
listItems.add(cursor.getInt(0)+","+cursor.getString(1)+","+cursor.getInt(2)+","+cursor.getString(3)+","+cursor.getString(4));
}
adapter.notifyDataSetChanged();
db.close();
}
试试这个
adapter.getItemId(put your selection here);\\
它应该会起作用
要了解更多信息,请查看Dushyant Patel感谢您的回复,但我得到的信息是:getPosition对于MainActivity类型没有定义,行的选择是通过选中框来完成的。其实它不一定非得是getPosition。我取决于你有什么类型的变量,你的变量是long还是int?你用什么变量?我需要选择视图的位置。这是废话。。。ArrayAdapter没有ID。。。这将返回位置或数组中的位置,而不是INT类型的idposition?我需要光标的选择位置。moveToPositionposition;我该怎么做呢?要获取id-拆分项目字符串,将其作为分隔符,并获取第一个项目-然后在此idI中使用delete statemant,我尝试了它,但我从所选项目中获取了下一行详细信息-1工作不太好。