看板 AndroidDev 關於我們 聯絡資訊
※ 引述《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
Deltaguita:他報NullPointerException 你有檢查adapter的內容嗎? 09/04 11:52
Deltaguita:你用把adapter印出來看看他裡面是甚麼東西 09/04 11:53
ted66:OnItemSelectedListener改OnItemClickListener呢 09/04 17:19
setwise:adapter有成功加進東西沒錯 09/04 23:27
setwise:OnItem那行改掉的會和上一行的OnItemClickListener衝突 09/04 23:29
setwise:把ListView改抓自己XML上的似乎就過了..請問這是什麼原因? 09/04 23:36