作者setwise (AFu)
看板AndroidDev
標題Re: [問題] 我想問一個有關spinner的問題
時間Wed Sep 4 01:01:00 2013
※ 引述《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