2011-11-18 80 views
4

在我的應用程序中,我使用微調,它顯示spinner.performClick()。經過大量嘗試,我發現我的代碼不會觸發onItemSelected method,然後我嘗試添加@Override註釋,但它返回爲錯誤,並說刪除該註釋。這裏是代碼:Android微調沒有觸發onItemSelected

Spinner colorSpinner = new Spinner(this); 
ColorFriendsSpinnerAdapter adapter = new ColorFriendsSpinnerAdapter(getApplicationContext(), liste, R.layout.color_dropdown, new String[] { "Icon" }, new int[] { R.id.colorDropdown }); 
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
colorSpinner.setAdapter(adapter); 
colorSpinner.performClick(); 

colorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) { 
       editColorXml(position); 
     } 

     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 

感謝您的任何幫助,並抱歉我的英語。

回答

1

ItemSelectedListner的示例,不需要重寫註釋。

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       // TODO Auto-generated method stub 

      } 

      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 

colorSpinner.performClick()之前設置聽衆。在這個代碼中,微調將在沒有設置監聽器的時候被點擊。

+1

仍然不會觸發onItemSelected方法。我試圖在適配器內設置onClickListener,但它也不起作用。 – Utk12

+0

我有同樣的問題。這是否解決了? –

+0

我在代碼中創建微調器時無法解決此問題,因此我沒有使用它。您可以在佈局中創建微調器來解決此問題。 – Utk12

0

試試這個代碼..

final List<String> list=new ArrayList<String>(); 
list.add("Item 1"); 
list.add("Item 2"); 
list.add("Item 3"); 
list.add("Item 4"); 
list.add("Item 5"); 

final Spinner sp1= (Spinner) findViewById(R.id.spinner1); 

ArrayAdapter<String> adp1 = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_1,list); 
adp1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
sp1.setAdapter(adp1); 

sp1.setOnItemSelectedListener(new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    Toast.makeText(getBaseContext(), list.get(position), Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 
    } 
}); 
相關問題