2017-02-27 79 views
-1

我已經使用微調來顯示在微調選定的特定項目的烤麪包。問題與微調

當Spinner中選擇「其他」時,我正在顯示烤麪包。 我已經按以下步驟進行的:

spinnerTemp=(Spinner)findViewById(R.id.spinnerTemp); 
    spinnerTemp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      if(spinnerTemp.getSelectedItem().toString().equals("other")){ 
       Toast.makeText(SocialLoginActivity.this, "Displayed", Toast.LENGTH_SHORT).show(); 
      } 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

問題是當我選擇「其他」爲首次,吐司顯示..:FINE。現在,當場如果我再次選擇「其他」,則不顯示吐司。爲什麼?

現在,如果我選擇一些其他值,並再次嘗試選擇「其他」,它的工作正常。問題在於選擇「其他」一個接一個。

可能是什麼問題?

謝謝。

+0

這意味着在第一時間選擇做工精細,下次沒有得到適當的敬酒。 – Harshid

+0

請參閱:http://stackoverflow.com/questions/10854329/spinner-onitemselected-not-called-when-selected-item-remains-the-same – rafsanahmad007

+0

您應該使用onItemClickListener來代替onItemSelectedListener。 –

回答

0

這裏好一點的實現:

@Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     // On selecting a spinner item 
     String item = parent.getItemAtPosition(position).toString(); 

     // Showing selected spinner item 
     Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show(); 
    } 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 
    } 
0

試試這個

spinnerTemp=(Spinner)findViewById(R.id.spinnerTemp); 
spinnerTemp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     String item = spinnerTemp.getSelectedItem().toString(); 
     if(item.equalsIgnoreCase("other")){ 
      Toast.makeText(SocialLoginActivity.this, "Displayed", Toast.LENGTH_SHORT).show(); 
     } 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 

    } 
});