- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
九清单与选单
ListView的目的是以可捲動清單形式提供一串項目讓使用者從中選擇,這些項目的來源可以是List或陣列,由指定的Adapter自動建立成顯示的清單。 使用ListView的一般步驟如下: 在XML佈局檔中利用ListView建立ListView,並設定相關屬性。 以資料來源與清單樣式建立ArrayAdapter物件。 將此ArrayAdapter物件指定給ListView元件。 透過事件處理完成ListView元件的目的。 ListView主要處理的事件是「onItemClick」,這事件在清單項目被敲擊時觸發,並以「AdapterView.OnItemClickListener」偵聽器偵聽。 ListView Test範例 在ListView範例中,當敲下一清單項目,會將此項目的內容顯示在清單上方的TextView中。 詳細內容請參考原書。 ListView元件另一個常用的事件是「onItemSelected」,它對應的偵聽器物件為「OnItemSelectedListener」,必須實作的方法為「onItemSelected(AdapterView? parent, View view, int position, long id)」與「onNothingSelected(AdapterView? parent)」。 ListActivity是一個顯示項目清單,並可以藉由事件與使用者互動的活動,它擁有一個ListView元件可以透過Adapter與不同資料來源繫結在一起。 ListActivity有一個預設的佈局,因此可以不必自己設計佈局檔。 另外要注意一點,在Java程式碼中包含清單的活動不再是延伸自Activity,而是延伸自「ListActivity」。 ListAdaptive Test範例 範例中我們不再用Adapter將清單內容繫結至陣列資料,而是繫結至字串資源。 需要注意2點: Adapter的型態需從「String」改為「CharSequence」 。 改用Adapter的「createFromResource()」靜態方法建立Adapter。 createFromResource()方法需要3個參數,第1個參數仍是此物件所在的活動,第2個參數指定資料來源的字串資源,第3個參數則為設定清單的形式。 詳細內容請參考原書(code 9-3)。 可展開清單(ExpandableListView)是2層的清單,可以分成清單項目(或稱群組)與子清單(子清單內容才是真正可以選擇的項目),當按下清單項目,此項目的子清單將展開。 在第1 層的群組是一維的,而第2層的子清單為二維;一般我們會在Java程式中使用「Java.util.List」類別宣告這二層清單,然後透過「Java.util.Map」類別將資料放置於清單內。 ExpandableList Test範例 在清單對應的「SimpleExpandableListAdapter」中指定群組與子清單樣式均為「android.R.layout.simple_expandable_list_item_2」。 使用者敲擊一個子選單項目時,用Toast物件顯示此項目所在群組與子選單索引值。 詳細內容請參考原書。 可展開清單主要處理以下事件: onChildClick事件 子清單項目被敲擊時觸發,需建立OnChildClickListener物件並實作public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id)方法。 onGroupClick事件 組項目被敲擊時觸發,需建立OnGroupClickListener物件並實作public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id)方法。 onGroupCollapse事件 當子清單項目收合時觸發,需建立OnGroupCollapseListener物件並實作public void onGroupCollapse(int groupPosition)方法。 onGroupExpand事件 當子清單項目展開時觸發,需建立OnGroupExpandListener物件並實作public void onGroupExpand(int groupPosition)方法。 下拉清單(Spinner)提供一組資料項目供使用者選擇,在預設情況下Spinner會顯示目前選擇的項目內容。 當使用者碰觸Spinner元件,則會開啟一個清單列示出所有可以選擇的項目供使用者
文档评论(0)