2013-11-22 77 views
0

我開闢了一個微調按鈕:微調onClickListener不會被調用

butonLista.setOnClickListener(new View.OnClickListener() 

     { 
      public void onClick(View v){ 

       spinnerLista.performClick(); 
      } 
     }); 

這是微調:

spinnerLista = new Spinner(this); 
       public void spinnerLista(){ 
     adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, masini); 
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      spinnerLista.setAdapter(adapter); 
      spinnerLista.setOnItemSelectedListener(new listaOnClickListener()); 
    } 

在listaOnClickListener我有一個日誌:

 public class listaOnClickListener implements OnItemSelectedListener{ 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, 
      long arg3) {  

     String nrInmat = String.valueOf(spinnerLista.getItemAtPosition(pos)); 
     Log.w("Numar inmatriculare:", nrInmat+""); 
     txtNrInmat.setText(nrInmat); 
    } 


    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 
     // TODO Auto-generated method stub 
     } 
    } 

當我點擊按鈕後,彈出的微調列表,當我從列表中點擊一個項目日誌不出現,命令我pu t不在OnClickListener中調用,我該怎麼辦?

我終於想要設置一個EditText爲spinnerLista.getItemAtPosition(pos);

+0

'spinnerLista()'是一個函數還是視圖? –

+0

它的一個功能。 –

回答

0
spinnerLista.performClick(); 

將執行點擊微調,而不是在微調個人項目視圖。

使用

spinner.getOnItemClickListener().onItemClick(parent, view, position, id); 

進行個人項目視圖點擊。

+0

yes,spinnerLista.performCLick();將執行點擊微調,之後,我會點擊微調單獨的項目。所以不應該onclicklistener被調用? –

+0

您的意思是onItemSelectedListener在您點擊Spinner項目時未被調用? –

+0

yes,public void onItemSelected(AdapterView parent,View view,int pos,long arg3) –

0

您可以使用此選定項目從旋轉

String nrInmat = String.valueOf(spinnerLista.getSelectedItemPosition()); 

或者你可能在你的活動來實現OnItemSelectedListener。

{  adapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, masini); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinnerLista.setAdapter(adapter);   
     spinnerLista.setOnItemSelectedListener(this); 
} 
@Override 

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3){  

    //Do what ever you want when you click on spinner  

} 

@Override 

public void onNothingSelected(AdapterView<?> arg0) {} 
+0

spinnerLista.getSelectedItemPosition()返回位置。 –

+0

我已經有onitemselected和onnothingselected,但在另一個功能,所以thoes不會被稱爲 –

+0

@Victor希望你已經實現它,試試這個鏈接..http://stackoverflow.com/a/3928324/2534313 – Livin

0

試試這個,而在onItemSelectedListener子類中可能有錯誤。

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     Log.i("SPINNER-TRACE", "onItemSelected"); 
    } 

    public void onNothingSelected(AdapterView<?> parent) { 
     Log.i("SPINNER-TRACE", "onNothingSelected"); 
    } 
}); 
+0

我試過了,它的工作,問題是onitemselectedlistener沒有得到調用。 –

0

要彈出微調按鈕上點擊使用spinner.performClick按鈕內的onclick事件。

並查看下面的代碼來實現微調器的onItemSelectedListener。

Spinner s1 = (Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.colors, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s1.setAdapter(adapter); 
    s1.setOnItemSelectedListener(
      new OnItemSelectedListener() { 
       public void onItemSelected(
         AdapterView<?> parent, View view, int position, long id) { 
        showToast("Spinner1: position=" + position + " id=" + id); 
       } 

       public void onNothingSelected(AdapterView<?> parent) { 
        showToast("Spinner1: unselected"); 
       } 
      }); 

另外,spinner.getSelectedItem()會給出當前選中的項。

您可以詢問是否有任何疑問!

+0

它不工作,onitemselectedlistener不會被調用,我張貼我的所有代碼,對不起,如果它不完整。 –

+0

查看本教程並將該項目導入到Eclipse中並檢查它正在運行的天氣嗎? http://www.androidhive.info/2012/04/android-spinner-dropdown-example/ –

+0

我已經在我的應用程序中有spinners工作,我知道如何使一個微調。這就是我想成爲一個可編輯的微調,編輯文本+按鈕。 –