2011-03-24 45 views
0

我做了一個記事本應用程序,通過聯繫人組織筆記。我正在尋找與兩行到每個列表項目創建一個ListActivity。第一行將有一個用戶分配給該筆記的基本標題。我想在第二行放置聯繫人名稱。我不知道如何開始這樣做。過去兩天我一直在研究,在這裏和那裏嘗試代碼,沒有任何東西似乎能夠正確地結合在一起。我一直看似回到MergeCursor,但是我無法正確地工作,我無法找到任何有助於我理解它的好例子。Android - 將數據從兩個數據庫拖入一個光標

我的主數據庫表是:_id,contactId,title,body,datetime。

創建筆記時,內置聯繫人數據庫中的聯繫人ID被傳遞到我的數據庫中的行。我相信這是簡單的,但我似乎無法得到它!任何幫助表示讚賞!

回答

1

嘗試使用CursorJoiner。也不建議加入Contacts _ID列,因爲這可以通過同步或聚合操作進行更改。在Contacts上使用LOOKUP_KEY

0

我的建議是使用MergeCursor保持和提防

「調用getColumns,getColumnIndex, 等將返回值的行 的MergeCursor目前 指着」。

當你需要一個字符串,從它這樣做就像

String body = cursor.getString(cursor.getColumnIndex(MySqlDatabase.KEY_BODY)); 

這是格式,你應該嘗試不管MergeCursor或定期Cursor

0

使用或實際上,我可能會誤解你的問題,所以我發佈了另一個答案。這聽起來像是你在佈局本身有問題,而不是存儲/檢索數據的技術部分。

如果是這樣的話,我會引用你Layout Tricks: Creating Efficient Layouts,它顯示你可以做幾件不同的事情。

基本上,有一段XML代碼聲明Linear Layout有兩個子節點,它們都是TextView。當您在ListActivity中使用SimpleCursorAdapter(我推薦)時,請將SimpleCursorAdapter構造函數中的最後一個字段設置爲「new int[]{R.id.text1, R.id.text2}」,這是存儲在xml中的TextViews的ID。

我指的是SimpleCursorAdapter的構造函數。

這有幫助嗎?

+0

謝謝你的答案。實際上,這裏描述的是我可以用一個遊標/數據庫確實做的事情,問題是,我不知道如何將來自兩個數據庫的數據調用到單個適配器中。對不起,如果我的問題含糊不清,我匆匆寫下了它...... – 2011-03-25 09:26:51

+0

您可以嘗試設置兩個使用兩個數據庫中相應遊標創建的CursorAdapter嗎?我從來沒有嘗試過這樣的事情,所以我現在只是拋出一個想法。 – eternalmatt 2011-03-26 02:36:29

相關問題