ListFragment的使用
来源:互联网 发布:sai软件如何使用 编辑:程序博客网 时间:2024/06/06 00:03
ListFragment的使用
- 扩展 ListFragmen t类
- 写一个扩展自ArrayAdapter<>的内部类(也可以扩展自 BaseAdapter,灵活性更大)
- 覆盖View getView() 方法:
if(convertView == null) View v = getLayoutInflater().inflate(R.layout.itemlayout,null)
设置各 view 后返回 convertview - 覆盖 ListFragment 类的 onCreate 方法并 setListAdapter。
给 ListView 设置无 item 时显示不同内容
- 创建一个layout,其中包含一个容器用作无item时显示的视图,id 为
android:id="@android:id/empty"
,另一个为 ListView,id 为android:id="@android:id/list"
- 覆盖Fragment onCreateView 方法,inflate此layout即可
创建上下文菜单
- 覆盖 onCreateContextMenu,getMenuInflater().inflate 一个菜单资源
- 在 onCreateView 中 registerForContextView(listview)
- 覆盖 onContextItemSelected,根据选择的菜单项
item.getItemId()
操作对应的列表 ItemgetListAdapter().getItem(item.getMenuInfo().position)
实现多选操作
- onCreateView 方法中:
ListView lv = (ListView)v.findViewById(android.R.id.list);lv.setChoiceMode(lv.CHOICE_MODE_MULTIPLE_MODAL);lv.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener(){ });
- 实现五个抽象方法,在 onCreateActionMode 中 mode.getMenuInflater().inflate 设置菜单并返回true
- 在 onActionItemClicked 中:
switch (item.getItemId()) { case R.id.menu_item_delete: TaskAdapter ta = (TaskAdapter)getListAdapter(); for(int i = ta.getCount() -1;i>=0;i--) { if(getListView().isItemChecked(i)) mTasks.remove(ta.getItem(i)); } mode.finish(); ta.notifyDataSetChanged(); return true;}return false;
激活状态时使用不同背景
- 在 drawable 中新建一个xml,root 为 selector,含一个item
- 设置
android:state_activated="true" android:drawable="@android:color/dark_gray"
- 在 item 视图 xml 文件中引用此 xml 作为 background 即可
- 另外还有 android:state_pressed 属性等
项目之间添加间隔
给 fragment_list.xml 布局中的 ListView 设置 divider 为 @android:color/transparent
,设置dividerHeight 为 20dp
其它
ListView 由 ArrayAdapter 的 notifyDataSetChanged 刷新。
1 0
- ListFragment的使用
- ListFragment的使用
- ListFragment的使用
- ListFragment的使用
- ListFragment的使用
- Fragment学习之ListFragment的使用
- Android系列之Fragment----ListFragment的使用
- Android Fragment的使用 八 ListFragment
- Android ListFragment使用
- 使用ListFragment显示列表
- DialogFragment和ListFragment使用
- 使用ListFragment要点
- ListFragment使用注意事项
- 关于listfragment中使用listview的点击事件不响应
- Fragment初学4——使用Fragment的子类ListFragment
- Android Fragmnet-Fragment数据交换以及ListFragment的使用
- Android开发系列——listfragment的使用例子
- ListFragment setDivider的问题
- POJ 1143 Number Game(状压DP)
- 【ARM-Linux开发】打包解包命令
- ubuntu 16.04 安装 qtcreator
- C语言基础总结之琐碎知识点
- Logback 简介
- ListFragment的使用
- QUTOJ 1361 字符串匹配 暴力
- 使用Rubymine的ruby on rails 学习历程①
- scrapy源码分析(三)---------ExecutionEngine(二)一个request的周期
- 仿真工具NS3的基本知识
- Spring Boot 2.0.0参考手册_中英文对照_Part IV_24
- Servlet开发的一些细节问题
- Spring Boot 2.0.0参考手册_中文版_Part IV_24
- n的阶乘相加