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

看板AndroidDev作者 (AFu)時間10年前 (2013/09/04 01:01), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串5/5 (看更多)
※ 引述《yauhh (喲)》之銘言: : ※ 引述《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) { : } : }); 敝人新手我最近在研究spinner和listview的合併使用 剛好看到這篇正好符合我的需求 便引用這段程式碼試用 我把這段丟到我的程式後使用卻跳出BUG 好幾段AndroidRuntime的錯誤 下列為前段部分顯示的錯誤 D/AndroidRuntime(20663): Shutting down VM W/dalvikvm(20663): threadid=1: thread exiting with uncaught exception (group=0x40ab9228) E/AndroidRuntime(20663): FATAL EXCEPTION: main E/AndroidRuntime(20663): java.lang.NullPointerException 測試後發現似乎在onItemSelected裡動到listview就會出錯 也就是listview.setAdapter(adapter);那行 請問該如何解決? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.229.164.34

09/04 11:52, , 1F
他報NullPointerException 你有檢查adapter的內容嗎?
09/04 11:52, 1F

09/04 11:53, , 2F
你用把adapter印出來看看他裡面是甚麼東西
09/04 11:53, 2F

09/04 17:19, , 3F
OnItemSelectedListener改OnItemClickListener呢
09/04 17:19, 3F

09/04 23:27, , 4F
adapter有成功加進東西沒錯
09/04 23:27, 4F

09/04 23:29, , 5F
OnItem那行改掉的會和上一行的OnItemClickListener衝突
09/04 23:29, 5F

09/04 23:36, , 6F
把ListView改抓自己XML上的似乎就過了..請問這是什麼原因?
09/04 23:36, 6F
文章代碼(AID): #1I9XNFw6 (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1I9XNFw6 (AndroidDev)