這可能嗎?我試圖在一個活動中打開SQLite數據庫遊標,並將其傳遞給另一個活動。將光標傳遞給活動?
2
A
回答
3
我個人不知道任何簡單的方法來做到這一點。只需在目標活動中再次進行查詢可能會更容易。
1
你應該編寫自己的Cursor來實現Parcelable接口。在這種情況下,您可以將光標放在parcel上並通過putExtra()將其發送到另一個Activity。在目標活動中,你可以爆炸(實際上只需通過處理程序找到它)通過Parcel方法之一(與Binder相關)進行光標遊標。
5
另一種可能更簡單的方法是爲您的應用程序創建一個Application類。這是保證只創建一次,並存在您的應用程序的生命週期。除此之外,它可以爲您的應用程序提供「數據中心」功能,因此不同的活動可以輕鬆共享數據。所以,對於你的遊標,你只需要像這樣使用Application類的成員變量(警告,我從我的應用程序中複製了這段代碼並在此處進行了編輯,所以不保證編譯的正確性)。
package com.jcascio.k03;
import android.app.Application;
import android.database.Cursor;
// use your application's name instead of "K03Application"
public class K03Application extends Application {
public final String TAG = "K03";
Cursor sharedCursor; // this cursor can be shared between different Activities
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onTerminate() {
super.onTerminate();
}
public Cursor getSharedCursor()
{
return this.sharedCursor;
}
public void setSharedCursor(Cursor c)
{
this.sharedCursor = c;
}
}
應用程序對象可以使用
this.getApplication()
// You cast it to your Application sub-class and call the Cursor accessor function
Cursor c = ((K03Application)this.getApplication()).getSharedCursor();
所以,你的第一個活動會從數據庫中獲取,它返回到它作爲一個遊標一些粘粘的任何活動中獲取。此活動將在應用程序中調用setSharedCursor。然後它會啓動第二個Activity,它會在其onCreate函數(或任何其他函數)中調用getSharedCursor來檢索遊標。
相關問題
- 1. 將光標傳遞給其他活動安全嗎?
- 2. 如何將光標傳遞給其他活動?
- 3. 將GPS座標傳遞給活動
- 4. 將活動傳遞給ListFragment?
- 5. 將記錄傳遞給參考光標
- 6. 將光標值傳遞給ArrayList
- 7. 將額外值傳遞給光標
- 8. 將光標記錄傳遞給函數
- 9. wf - 將審批值傳遞給活動
- 10. 將對象傳遞給活動
- 11. 將對象傳遞給新活動
- 12. 如何將對象傳遞給活動?
- 13. 將活動值傳遞給片段android
- 14. 將值傳遞給Switch活動
- 15. 將ArrayAdapter的值傳遞給活動
- 16. 將意圖傳遞給活動?
- 17. 將多個數據傳遞給活動?
- 18. 將對象傳遞給其他活動
- 19. 將GoogleApiClient傳遞給另一個活動
- 20. 將LinkedList傳遞給另一個活動
- 21. 將活動傳遞給片段
- 22. 將複雜對象傳遞給活動
- 23. 將UsbDeviceConnection傳遞給其他活動
- 24. 將活動的值傳遞給CustomDialog類
- 25. 從Bootstrap獲取活動標籤ID並將其傳遞給PHP
- 26. 我如何將意圖傳遞給onClickListener中的標籤活動
- 27. 將孩子活動的結果傳遞給父母標籤活動
- 28. 將第二活動的值傳遞給第一活動
- 29. 將活動結果傳遞給祖父母活動(非父母)
- 30. 將第三個活動的值傳遞給第一個活動
我最終這樣做。如果能夠通過光標,會更漂亮。 – dfetter88 2010-10-18 02:27:13
@ dfetter88 +1我同意... – Mirko 2012-10-22 08:28:55