Re: [問題] 我想問一個有關spinner的問題

看板AndroidDev作者 (喲)時間13年前 (2012/04/03 13:31), 編輯推噓4(405)
留言9則, 3人參與, 最新討論串2/5 (看更多)
※ 引述《w999 (Mr.帥)》之銘言: : 不好意思我又來問問題了 : 我想問一下有辦法讓我隨著選到spinner裡面的item : 而改變listview的內容 Spinner是選單,所以程式只要加上spinner的OnItemSelectedListener, 選到項目時,就根據項目準備不同的列表,塞進ListView. 像以下例子是簡單的 文字呈現: Spinner spinner = (Spinner)findViewById(R.id.spinner); String[] arr = new String[]{"A", "B"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>( HelloWorldActivity.this, android.R.layout.simple_spinner_item, arr); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ public void onItemSelected(AdapterView<?> parent, View me, int id, long position) { LinearLayout layout = (LinearLayout)me.getParent().getParent(); ListView listview = (ListView)layout.findViewById( android.R.id.list); TextView textview = (TextView)me; ListAdapter adapter = null; if (textview.getText().equals("A")) { String[] arrA = new String[]{ "Hello", "world"}; adapter = new ArrayAdapter(HelloWorldActivity.this, android.R.layout.simple_list_item_1, arrA); } else if (textview.getText().equals("B")) { String[] arrB = new String[]{ "Hello", "Kitty"}; adapter = new ArrayAdapter(HelloWorldActivity.this, android.R.layout.simple_list_item_1, arrB); } listview.setAdapter(adapter); } public void onNothingSelected(AdapterView<?> arg0) { } }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.225.130

04/03 21:51, , 1F
這種寫法我怎覺得有點不妥
04/03 21:51, 1F

04/03 21:55, , 2F
把listview的宣告寫在外面會不會比較好一點?
04/03 21:55, 2F

04/03 21:56, , 3F
這樣adapter應該就可以重複使用了
04/03 21:56, 3F

04/03 22:16, , 4F
隨便寫個例子而已
04/03 22:16, 4F

04/03 22:21, , 5F
真的listview或adapter要宣告在哪裡,還是看場合,不是什麼都
04/03 22:21, 5F

04/03 22:22, , 6F
共用就了事. 換作別的需求,我這個寫法可能變成比較好的作法
04/03 22:22, 6F

04/07 11:24, , 7F
謝謝大大詳細的回答我今天才發現= =
04/07 11:24, 7F

04/07 12:35, , 8F
但是我有點看不太懂..因為我的程式一開始就給spinner的選項
04/07 12:35, 8F

04/07 12:36, , 9F
設定成中文了
04/07 12:36, 9F
文章代碼(AID): #1FUllDvN (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1FUllDvN (AndroidDev)