轉載請保留原文出處「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版本」下載。