2012-04-18 50 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拥有该类中的所有数据库内容,并在你的活动中创建一个对象数据基地沟通这将更好地处理和做出改变。