2012-04-18 46 views
0

我想創建一個類來處理與我的應用程序的圖像有關的所有事情。如何從SQLiteOpenHelper訪問StartActivityForResult()?

擴展SQLiteOpenHelper來做到這一點很有意義,因爲它的大部分工作都是在數據庫中完成的。

我的方法之一返回一個ViewGroup對象,我可以將它合併到幾個更高級別的佈局中。這個ViewGroup包含一組圖片和一個添加新圖片的按鈕。

我的問題是當我要處理的按鈕,點擊與startActivityForResult()行動 - 這是Activity類的一部分,並且不具備的SQLiteOpenHelper類。

我接近這個錯誤嗎?或者有沒有一種方法可以從我的類中訪問startActivityForResult()(和onActivityResult())?

回答

0

這似乎通過使活動作爲參數的類,然後用工作:

myActivity.startActivityForResult(...

1

擴展SQLiteOpenHelper爲做到這一點

那類應只是開放數據庫文件(並根據需求創建的表),僅此而已。您應該編寫另一個使用open [ing] Helper類的數據庫處理類來打開數據庫,並在數據庫中執行所有插入/更新。

我接近這個錯誤嗎?

Imo是的。用戶事件邏輯是活動的責任,所以它應該在那裏或者在你委託所有這些的類中。

應該從那裏使用數據庫功能 - 最好是異步使用。

0

正如布倫特說,並且通過getParent()作爲參數

0

最好分離你正在做的事情擴展活動而不是SQLiteOpenHelper並讓另一個類說MyDatabase延伸SQLiteOpenHelper擁有該類中的所有數據庫內容,並在你的活動中創建一個對象數據基地溝通這將更好地處理和做出改變。