隨筆 - 0, 文章 - 264, 評(píng)論 - 170, 引用 - 0
          數(shù)據(jù)加載中……

          spinner中ArrayAdapter中傳遞對(duì)象的用法

          描述:
          一般情況下,我們會(huì)用ArrayList<String>來填充Spinner中的Adapter。
          但有時(shí),我們需要傳遞一些對(duì)象,比如選擇用戶的時(shí)候,顯示的是用戶名,但我們要處理的是用戶ID。
          這時(shí)侯如果用ArrayList<String>,則不能滿足我們的需求,因?yàn)?,ID沒地方儲(chǔ)存。

          查閱API,發(fā)現(xiàn)ArrayAdapter的類聲明為ArrayAdapter<T>,說明,我們可以把T替換成我們想要的對(duì)象。

          于是我們可以構(gòu)建如下的語句:
          ArrayList<User> users = new ArrayList<User>();
          ArrayAdapter<Group> adapter = new ArrayAdapter<Group>(
                          this,
                          android.R.layout.simple_spinner_item,
                          users
                          );
          但這時(shí)有會(huì)遇到一個(gè)問題,既然你傳遞過來的是一個(gè)obj,但我的要求是:顯示用name顯示,處理用id,這個(gè)怎么實(shí)現(xiàn)咧。
          答案是,重寫User的toString()方法,只返回name。這樣就能滿足我們的需求啦。
          當(dāng)然,這只是一種簡(jiǎn)單的做法,一般情況下,還有另一種寫法,就是重寫adapter。

          posted on 2011-08-10 16:57 小一敗涂地 閱讀(3856) 評(píng)論(0)  編輯  收藏 所屬分類: android+移動(dòng)開發(fā)

          主站蜘蛛池模板: 石屏县| 门源| 安陆市| 高州市| 达日县| 正蓝旗| 安新县| 称多县| 台江县| 玉山县| 穆棱市| 互助| 昂仁县| 灌阳县| 溆浦县| 陵川县| 中山市| 吕梁市| 榕江县| 沁源县| 襄樊市| 大宁县| 明溪县| 乐都县| 高尔夫| 固镇县| 三亚市| 石家庄市| 宜黄县| 泽普县| 两当县| 卓资县| 丹阳市| 洪湖市| 五华县| 许昌市| 凤台县| 台东市| 咸丰县| 邹城市| 三门峡市|