Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用SQLite从ListView中删除视图_Android_Android Sqlite - Fatal编程技术网

Android 使用SQLite从ListView中删除视图

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

如您所见,我正在使用ListView打印我的SQL表。 我试图删除选定行,但找不到选定视图的位置:

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工作不太好。