2017-02-27 8 views
-1

Spinnerで選択した特定のアイテムのトーストを表示するためにSpinnerを使用しました。Spinnerの問題

スピナーで「その他」を選択した場合、私はトーストを表示しています。 FINE: 私は以下のようにそれを行っている:私は「他には」初めてため、トーストが...表示されて選択していた場合

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) { 

     } 
    }); 

問題がです。今、その場で私が「その他」をもう一度にすると、トーストは表示されません。どうして ?

ここで、他の値を選択してもう一度「その他」を選択してみると、正常に機能しています。問題は、「他」を次々と選択することです。

何が問題なのですか?

ありがとうございました。ここで

+0

を試してみてください。 – Harshid

+0

これを参照してください:http://stackoverflow.com/questions/10854329/spinner-onitemselected-not-called-when-selected-item-remains-the-same – rafsanahmad007

+0

onItemSelectedListenerの代わりにonItemClickListenerを使用してください。 –

答えて

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) { 

    } 
});