2017-09-12 5 views
0

通常、スピナーはsetOnItemSelectedによって項目を取得できますが、ユーザーが選択するためにクリックしなかった場合はどうなりますか?次に、ユーザーがスピナーをクリックして項目を選択するかどうかを検出するコードを編集する必要がありますか?誰でも助言をお願いできますか?スピナー項目が選択されているかどうかを検出する方法は?

ここに私のコードです:

s = (Spinner) findViewById(R.id.Rg); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
      R.array.gender_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s.setAdapter(adapter); 
    s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
      gender = adapterView.getItemAtPosition(i).toString(); 

     } 

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

      Toast.makeText(Register.this, "Please select your gender", LENGTH_SHORT).show(); 
      return; 
     } 
    }); 
+0

あなたverride iが選択された位置である 'onItemSelected'で' i'をチェックすることができます。また、 's.getSelectedItem()'を呼び出すこともできます。 –

答えて

0

あなたは

Spinner.getSelectedItemを(使用することができます)

または

Spinner.getSelectedItemId()//戻り値選択した項目のIDアダプタクラスのメソッド "getItemId")

または

Spinner.getSelectedItemPosition()アダプタ内で選択されたアイテムの位置(インデックスを返す//)

+0

配列セットを見つけました。空のアイテムもTextUtils.isEmpty()で検出できます。 –

関連する問題