隨筆 - 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 小一敗涂地 閱讀(3861) 評(píng)論(0)  編輯  收藏 所屬分類: android+移動(dòng)開發(fā)

          主站蜘蛛池模板: 三都| 丹巴县| 高安市| 定远县| 牙克石市| 淳化县| 苏尼特左旗| 阿巴嘎旗| 龙游县| 蒲城县| 秦皇岛市| 新蔡县| 霞浦县| 璧山县| 永福县| 汉寿县| 牙克石市| 苏尼特右旗| 英超| 华池县| 登封市| 高邑县| 天柱县| 卢湾区| 都江堰市| 长治市| 梧州市| 奎屯市| 巴林左旗| 额敏县| 南宫市| 义乌市| 济源市| 绵竹市| 永宁县| 松桃| 景东| 宁武县| 江都市| 福安市| 平湖市|