PullToRefreshExpandableListView在Fragment中应用
来源:互联网 发布:debian 没有yum 编辑:程序博客网 时间:2024/05/18 03:33
源码地址:https://github.com/chrisbanes/Android-PullToRefresh
这个大家都找得到
现在说说如何在Fragment中实现 PullToRefreshExpandableListView 首先 从源文件中可以找到 在
Android-PullToRefresh/extras/PullToRefreshListFragment/src/com/handmark/pulltorefresh/extras/listfragment/文件夹目录中有 三个 .java 文件
1、讲这个三个文件拷贝到你的项目中,当然你也可以只拷贝 PullToRefreshBaseListFragment.java,你会发现他是一个抽象类,并且没有用public 修饰,你最好添加上(理由待会再说)
2、用你需要 添加 pullToRe(PullToRefreshExpandableListView简称)的Fragment集成这个抽象类,同事实现他的抽象方法,(如果这个Fragment和和抽象类不属于同一目录下,会导致你无法正确导入该类,所以之前让你先加上public修饰)
3、看一下代码。
public class NewCallFragment extends PullToRefreshBaseListFragment {
@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Remove ListView and add PullToRefreshListView in its place View view = inflater.inflate(R.layout.fragment_new_call, container, false); mFlag = Constants.FLAG_INTERPHONE; init(view); return view;}@Overrideprotected PullToRefreshExpandableListView onCreatePullToRefreshListView(LayoutInflater inflater, Bundle savedInstanceState) { return new PullToRefreshExpandableListView(getContext()); // 返回你需要镶嵌到PTR中的XListView}private void initView(View view) { ptrListView = (PullToRefreshExpandableListView) view.findViewById(R.id.ptr_newcall); //getRefreshableView()得到XListView 以方便实现点击事件 expandableListView = ptrListView.getRefreshableView(); expandAdapter = new CallExpandableAdapter(getContext()); expandableListView.setGroupIndicator(null); expandableListView.setDivider(null); expandableListView.setChildDivider(null); expandableListView.setAdapter(expandAdapter); expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { return false; } }); ptrListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ExpandableListView>() { @Override public void onRefresh(PullToRefreshBase<ExpandableListView> refreshView) { new OnFinish().execute(); } });}class OnFinish extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void... params) { CmdGroup.getSelfGroupData(); return null; } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); ptrListView.onRefreshComplete(); }}
}
0 0
- PullToRefreshExpandableListView在Fragment中应用
- pulltorefresh中PullToRefreshExpandableListView使用适配器的一些问题
- onCreateOptionsMenu在fragment中的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- Android中Fragment的应用
- 七道可能你也不太会的css基础题?
- USACO 2.3 货币系统(背包/生成函数)
- Java打印菱形,非常简单的方法!代码更简洁!
- UVA
- 数据结构--线性表之链表
- PullToRefreshExpandableListView在Fragment中应用
- 砝码称重II
- Java之集合
- 验证码60倒计时js代码
- 在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器
- 共轭法解线性方程组-简介无推导
- 图的存储表示——邻接矩阵
- 大话数据结构九:队列的链式存储结构(链队列)
- Linux中signal()函数详解