所以對於要如何在listview中取得SQLite中cursor對應的id感到困擾,所幸在survey了
一下相關的問題後,找到了android提供的SimpleCursorAdapter,該adapter的好處在於可以將db查詢回傳的Cursor直接使用,如此可方便開發者在Listview的item click listener中進行物件的操作
SimpleCursorAdapter的建構子如下:
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
更多資訊可參考http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html
foodCursor = getFoodCursor();//取得sqlite Cursor SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, R.layout.mylistview2,//指定的layout foodCursor,////取得sqlite Cursor new String[] { "name", "price", "category" },//所要顯示的db欄位,這裡要顯示的為name,price,category new int[] { R.id.textView1, R.id.textView2, R.id.textView3 }//對應的layout id );而另外一個使用SimpleCursorAdapter的好處在於一般的apadter在更新資料後,往往要搭配dapter的notifyDataSetChanged()通知UI畫面重新更新,而直接使用SimpleCursorAdapter僅需要使用Cursor.requery()即可更新UI,非常的方便
http://developer.android.com/reference/android/widget/CursorAdapter.html
沒有留言:
張貼留言