通过Activity设置动态Fragment中的ListView(通过SimpleCursorAdapter适配)
来源:互联网 发布:linux使用 编辑:程序博客网 时间:2024/05/01 16:09
最近 博主在设计一个项目 ,通过activity 动态将 布局文件中的一块区域 动态的设定 为不同的Fragment ,现在面临的一种情况是 ,目前的Fragment中有一个button和一个ListView,要实现的效果是,点击Button时,系统会读取 数据库文件 ,从数据库中读取需要的 数据 在 这个Fragment中的ListView 上显示。
首先,数据库和各项信息都已经配置好 , 没有问题。
刚开始的操作时,通过查询语句 获得 Cursor,通过SimpleCursorAdapter 来实现填充,代码如下:
首先获得ListView
lv = getLayoutInflater().inflate(R.layout.ListView,null);然后通过 下面代码进行填充
adapter = new SimpleCursorAdapter(word_activity.this,R.layout.wordlist ,cursor_c,new String[]{"word","shiyi"},new int[]{R.id.word_t,R.id.shiyi_t},
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);lv.setAdapter(adapter);这里需要注意一下 , 如果要使用 Curcor进行填充的话,需要你 数据库中表 要包含 _id的列,这是必须的!
还需要注意的是 在填充期间 不能关闭 curcor 否则会造成 数据填充失败!
然后运行的结果是:curcor中有文件 ,但是 ListView中没有显示!
后面 看 Android Monitor 中 ,发现系统提示 ListView 指针是空的 怎么会呢?
然后 尝试了一下 ,利用 FragmentManager来获得 控件 ,代码如下:
FragmentManager fm = getFragmentManager();final ListView lv = (ListView)fm.findFragmentById(R.id.word_main). getView().findViewById(R.id.word_list);在进行测试 一切正常!!!!
分析:
Inflater.inflate()是用来获取 布局文件的 这很重要 ,但是这个函数也仅仅是用来获取布局文件的 不能用来获取控件 一直都没有注意到 !
获取控件 还是需要 通过 先获取 Fragment 然后逐步 获取 控件!
1 0
- 通过Activity设置动态Fragment中的ListView(通过SimpleCursorAdapter适配)
- 通过定制SimpleCursorAdapter来实现ListView
- 通过Activity动态加载Fragment创建主界面构架
- Android Fragment之间参数传递通过Activity中的变量
- ListView通过监听打开Activity
- Fragment 的静态方式和动态方式以及动态方式中fragment之间通过activity传递 数据(接口回调 ):
- 管理Activity和Fragment(通过Stack<?>来进行管理)
- simpleCursorAdapter中的listview获取内容
- 通过 回调让Activity和Fragment及时交互
- Activity通过接口向fragment传数据
- Activity与Fragment通过Handler交互
- Fragment通过OnActivityResult获取Activity返回数据
- android ListView使用的三种方法汇总(通过继承BaseAdapter,使用SimpleAdapter和SimpleCursorAdapter)
- 通过动态设置ListView高度来解决ScollView与ListView互相嵌套的问题
- 通过动态设置ListView高度来解决ScollView与ListView互相嵌套的问题
- 通过fragment argument从Activity传递数据到Fragment
- Fragment中通过回调获得实现Activity中的onTouchEvent函数
- 【转载】Fragment中通过回调获得实现Activity中的onTouchEvent函数
- Ionic环境配置学习中
- 根据分数输出等级
- ubuntu12.04设置静态IP
- 网络访问1
- ACM:蓝桥杯:斐波那契数
- 通过Activity设置动态Fragment中的ListView(通过SimpleCursorAdapter适配)
- 小白看 KMP算法
- hdu2795Billboard
- Netbeans8.1 IDE的插件和历史记录(二)
- 算法系列(八)数据结构之二叉查找树
- Delete Node in a Linked List
- ACM:蓝桥杯:韩信点兵
- 老照片
- ACM:蓝桥杯:水仙花数