在哪里最合适的地方调用OpenHelperManager.releaseHelper();在自定义适配器中.
对于其他上下文,此适配器在带有ListVIEw的片段中被调用.
请遵循下面的代码段.
public class CustomAdapter extends BaseAdapter { private DatabaseHelper mDatabaseHelper; private RuntimeExceptionDao<SomeObject, Long> dao; private List<SomeObject> mList; private Context context; public CustomAdapter(Context context) { this.context = context; mDatabaseHelper = OpenHelperManager.getHelper(context, DatabaseHelper.class); dao = mDatabaseHelper.getRuntimeExceptionDao(); mList = dao.queryForAll(); } @OverrIDe public int getCount() { return mList.size(); } @OverrIDe public Object getItem(int position) { return mList.get(position); } @OverrIDe public long getItemID(int position) { return mList.get(position).getID(); } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); VIEw row = layoutInflater.inflate(R.layout.item, parent, false); TextVIEw Title = (TextVIEw) row.findVIEwByID(R.ID.txtTitle); SomeObject obj = mList.get(position); Title.setText(obj.getTitle()); return row; }}
解决方法:
好吧,作为OpenHelperManager的原始作者,我强烈建议您不要使用它.曾经您不需要引用计数,也不需要关闭数据库.直接使用OrmlitesqliteOpenHelper.
我的博客文章中,我解释了我是怎么写的,以及为什么不需要它.
http://touchlabblog.tumblr.com/post/24474750219/single-sqlite-connection
总结以上是内存溢出为你收集整理的在android自定义适配器中最合适的地方调用OpenHelperManager.releaseHelper()全部内容,希望文章能够帮你解决在android自定义适配器中最合适的地方调用OpenHelperManager.releaseHelper()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)