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

          spinner中ArrayAdapter中傳遞對象的用法

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

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

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

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

          主站蜘蛛池模板: 瑞安市| 和田县| 沙坪坝区| 新民市| 扬州市| 西充县| 永和县| 淅川县| 江孜县| 永嘉县| 如皋市| 浦北县| 会理县| 敦煌市| 平乡县| 济宁市| 天峨县| 宾阳县| 连州市| 襄樊市| 兴义市| 明溪县| 富阳市| 阿瓦提县| 南部县| 正定县| 娱乐| 华坪县| 星子县| 榆中县| 和平县| 灌云县| 博白县| 晋宁县| 六安市| 马龙县| 建昌县| 濮阳县| 东乌| 阜南县| 霍山县|