微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Fragment二级菜单双列表

Fragment二级菜单双列表

时间:10-08 来源:互联网 点击:

声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。

转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢!

您可以到博客的“友情链接”中,“程序猿媛(最新下载)*.*”下载最新版本,持续更新!当前版本,也可直接点击“当前1.3版本”下载。

本文介绍,利用两个Fragment,并列列表展示,并可选择二级列表各个列表项。

可以用来做地区、分类等选择方式。

首先,看下实现效果:

功能的实现,主要有两个方面:

数据的配置已经Adapter的更新;

Fragment中列表项点击事件的处理。

数据的配置已经Adapter的更新

与前一篇文章中类似,在此不赘述,请查看“程序猿媛三:ExpandableListView二级菜单选择”。

Fragment中列表项点击事件的处理

如果您看过其他Fragment相关的文章,也会了解到,可以在Fragment里面添加接口,并在其所在Activity中实现,以此作为两者之间沟通的桥梁。

此示例亦如此,以左侧列表为例:

首先,在Fragment里,定义列表项点击事件监听接口,

1interfaceonFirstListItemSelectedListener {
2publicabstractvoidonFirstListItemSelected(intposition);
3}

同时,在Fragment里,定义成员变量,并在onAttach(…)方法中赋值,

01privateonFirstListItemSelectedListener mListener;
02@Override
03publicvoidonAttach(Activity activity) {
04super.onAttach(activity);
05try{
06mListener = (onFirstListItemSelectedListener) activity;
07}catch(ClassCastException e) {
08thrownewClassCastException(activity.toString()
09+ must implement onFirstListItemSelectedListener);
10}
11
12}

最后,在Fragment列表项的点击事件中,通过回调,在Activity中进行处理了,

1@Override
2publicvoidonListItemClick(ListView l, View v,intposition,longid) {
3if(position == mClickPosition) {
4return;
5}
6mListener.onFirstListItemSelected(position);
7}

做完上面Fragment中的设置,再来看下Activity。

需要在Fragment所在的DoubleFrgListActivity 中,实现上面的接口,重写onFirstListItemSelected方法,在其中更新右侧列表显示内容,代码如下:

01publicclassDoubleFrgListActivityextendsFragmentActivity
02implementsonFirstListItemSelectedListener {
03@Override
04publicvoidonFirstListItemSelected(intposition) {
05// 获取左侧列表标题
06String title = titles.get(position);
07// 以标题为key,获取信息,为右侧Fragment设置列表内容
08mSecondFrg.setListContent(title, contents.get(title));
09}
10}

上述,即实现了,当点击左侧列表项时,回调接口设置右侧列表的功能。 右侧列表点击类似实现,不赘述!

转载请保留地址出处“http://my.oschina.net/gluoyer/blog/177571”,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top