程序猿媛四:Fragment二級菜單雙列表

Fragment二級菜單雙列表

聲明:博文爲原創,文章內容爲,效果展現,思路闡述,及代碼片斷。

    轉載請保留原文出處「http://my.oschina.net/gluoyer/blog」,謝謝!php

    您能夠到博客的「友情連接」中,「程序猿媛(最新下載)*.*」下載最新版本,持續更新!當前版本,也可直接點擊「當前1.3版本」下載。java

 

    本文介紹,利用兩個Fragment,並列列表展現,並可選擇二級列表各個列表項。ide

    能夠用來作地區、分類等選擇方式。.net

    首先,看下實現效果:code

 c02 c03 c01

    功能的實現,主要有兩個方面:orm

  •         數據的配置已經Adapter的更新;
  •         Fragment中列表項點擊事件的處理。

數據的配置已經Adapter的更新

    與前一篇文章中相似,在此不贅述,請查看「程序猿媛三:ExpandableListView二級菜單選擇」。blog

Fragment中列表項點擊事件的處理

    若是您看過其餘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版本」下載。

相關文章
相關標籤/搜索