日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]聲明:博文為原創(chuàng),文章內(nèi)容為,效果展示,思路闡述,及代碼片段。轉(zhuǎn)載請(qǐng)保留原文出處“http://my.oschina.net/gluoyer/blog”,謝謝!您可以到博客的“友情

聲明:博文為原創(chuàng),文章內(nèi)容為,效果展示,思路闡述,及代碼片段。

轉(zhuǎn)載請(qǐng)保留原文出處“http://my.oschina.net/gluoyer/blog”,謝謝!

您可以到博客的“友情鏈接”中,“程序猿媛(最新下載)*.*”下載最新版本,持續(xù)更新!當(dāng)前版本,也可直接點(diǎn)擊“當(dāng)前1.3版本”下載。

本文介紹,利用兩個(gè)Fragment,并列列表展示,并可選擇二級(jí)列表各個(gè)列表項(xiàng)。

可以用來(lái)做地區(qū)、分類等選擇方式。

首先,看下實(shí)現(xiàn)效果:

功能的實(shí)現(xiàn),主要有兩個(gè)方面:

數(shù)據(jù)的配置已經(jīng)Adapter的更新;

Fragment中列表項(xiàng)點(diǎn)擊事件的處理。

數(shù)據(jù)的配置已經(jīng)Adapter的更新

與前一篇文章中類似,在此不贅述,請(qǐng)查看“程序猿媛三:ExpandableListView二級(jí)菜單選擇”。

Fragment中列表項(xiàng)點(diǎn)擊事件的處理

如果您看過(guò)其他Fragment相關(guān)的文章,也會(huì)了解到,可以在Fragment里面添加接口,并在其所在Activity中實(shí)現(xiàn),以此作為兩者之間溝通的橋梁。

此示例亦如此,以左側(cè)列表為例:

首先,在Fragment里,定義列表項(xiàng)點(diǎn)擊事件監(jiān)聽接口,

1 interface onFirstListItemSelectedListener {
[!--empirenews.page--]
2     public abstract void onFirstListItemSelected(int position);
[!--empirenews.page--]
3 }

同時(shí),在Fragment里,定義成員變量,并在onAttach(…)方法中賦值,

01 private onFirstListItemSelectedListener mListener;
[!--empirenews.page--]
02 @Override
03 public void onAttach(Activity activity) {
[!--empirenews.page--]
04     super.onAttach(activity);
[!--empirenews.page--]
05     try {
[!--empirenews.page--]
06         mListener = (onFirstListItemSelectedListener) activity;
[!--empirenews.page--]
07     catch (ClassCastException e) {
[!--empirenews.page--]
08         throw new ClassCastException(activity.toString()
[!--empirenews.page--]
09                 " must implement onFirstListItemSelectedListener");
[!--empirenews.page--]
10     }
11      
[!--empirenews.page--]
12 }

最后,在Fragment列表項(xiàng)的點(diǎn)擊事件中,通過(guò)回調(diào),在Activity中進(jìn)行處理了,

1 @Override
[!--empirenews.page--]
2 public void onListItemClick(ListView l, View v, int position, long id) {
[!--empirenews.page--]
3     if(position == mClickPosition) {
[!--empirenews.page--]
4         return ;
[!--empirenews.page--]
5     }
6     mListener.onFirstListItemSelected(position);
[!--empirenews.page--]
7 }

做完上面Fragment中的設(shè)置,再來(lái)看下Activity。

需要在Fragment所在的DoubleFrgListActivity 中,實(shí)現(xiàn)上面的接口,重寫onFirstListItemSelected方法,在其中更新右側(cè)列表顯示內(nèi)容,代碼如下:

01 public class DoubleFrgListActivity extends FragmentActivity
[!--empirenews.page--]
02                     implements onFirstListItemSelectedListener {
[!--empirenews.page--]
03     @Override
[!--empirenews.page--]
04     public void onFirstListItemSelected(int position) {
[!--empirenews.page--]
05         // 獲取左側(cè)列表標(biāo)題
[!--empirenews.page--]
06         String title = titles.get(position);
[!--empirenews.page--]
07         // 以標(biāo)題為key,獲取信息,為右側(cè)Fragment設(shè)置列表內(nèi)容
[!--empirenews.page--]
08         mSecondFrg.setListContent(title, contents.get(title));
[!--empirenews.page--]
09     }
10 }
[!--empirenews.page--]

上述,即實(shí)現(xiàn)了,當(dāng)點(diǎn)擊左側(cè)列表項(xiàng)時(shí),回調(diào)接口設(shè)置右側(cè)列表的功能。 右側(cè)列表點(diǎn)擊類似實(shí)現(xiàn),不贅述!

轉(zhuǎn)載請(qǐng)保留地址出處“http://my.oschina.net/gluoyer/blog/177571”,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉