转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢!php
您能够到博客的“友情连接”中,“程序猿媛(最新下载)*.*”下载最新版本,持续更新!当前版本,也可直接点击“当前1.3版本”下载。java
本文介绍,利用两个Fragment,并列列表展现,并可选择二级列表各个列表项。ide
能够用来作地区、分类等选择方式。.net
首先,看下实现效果:code
功能的实现,主要有两个方面:orm
与前一篇文章中相似,在此不赘述,请查看“程序猿媛三:ExpandableListView二级菜单选择”。blog
若是您看过其余Fragment相关的文章,也会了解到,能够在Fragment里面添加接口,并在其所在Activity中实现,以此做为二者之间沟通的桥梁。接口
此示例亦如此,以左侧列表为例:事件
首先,在Fragment里,定义列表项点击事件监听接口,ci
interface onFirstListItemSelectedListener { public abstract void onFirstListItemSelected(int position); }
同时,在Fragment里,定义成员变量,并在onAttach(…)方法中赋值,
private onFirstListItemSelectedListener mListener; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (onFirstListItemSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement onFirstListItemSelectedListener"); } }
最后,在Fragment列表项的点击事件中,经过回调,在Activity中进行处理了,
@Override public void onListItemClick(ListView l, View v, int position, long id) { if(position == mClickPosition) { return ; } mListener.onFirstListItemSelected(position); }
作完上面Fragment中的设置,再来看下Activity。
须要在Fragment所在的DoubleFrgListActivity 中,实现上面的接口,重写onFirstListItemSelected方法,在其中更新右侧列表显示内容,代码以下:
public class DoubleFrgListActivity extends FragmentActivity implements onFirstListItemSelectedListener { @Override public void onFirstListItemSelected(int position) { // 获取左侧列表标题 String title = titles.get(position); // 以标题为key,获取信息,为右侧Fragment设置列表内容 mSecondFrg.setListContent(title, contents.get(title)); } }
上述,即实现了,当点击左侧列表项时,回调接口设置右侧列表的功能。 右侧列表点击相似实现,不赘述!
转载请保留地址出处“http://my.oschina.net/gluoyer/blog/177571”,谢谢!
您能够到博客的“友情连接”中,“程序猿媛(最新下载)*.*”下载最新版本,持续更新!当前版本,也可直接点击“当前1.3版本”下载。