2014-02-19 70 views
0

我正在使用ListView打印我的SQL表,如您所見。 我試圖刪除所選行,但無法找到所選擇的視的位置:使用SQLite從ListView中刪除視圖

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(); 
} 
+0

要獲得ID - 斯普利特項目(串)用「」作爲分隔符,並採取第一個項目 - 然後用本ID刪除衆​​所周知聲明 – Selvin

+0

我嘗試過,但我得到的下一行我選擇的項目的詳細信息。 -1不能正常工作。 – Shachar87

回答

-1

試試這個

adapter.getItemId(put your selection here);\\ 

它應該工作。

富勒更多信息,看here

+1

Dushyant Patel感謝您的回覆,但我得到的按摩:順便getPosition爲類型MainActivity undifined順便說一句,該行的選擇是通過選中框。 – Shachar87

+0

它並不一定是getPosition()。我取決於你有什麼樣的變量,你的變量是long還是int? –

+0

你在考慮哪個變量? 我需要選擇VIEW的位置。 – Shachar87