2017-09-12 3 views
0

Normalerweise Spinner kann Element von SetOnItemSelected, aber was, wenn der Benutzer überhaupt nicht klicken? Wie soll ich dann den Code bearbeiten, um festzustellen, ob der Benutzer auf den Drehknopf klickt, um einen Gegenstand auszuwählen oder nicht? Kann mir bitte jemand Rat geben?Wie erkennt man, ob das Drehfeld ausgewählt ist oder nicht?

Hier ist mein Code:

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

Sie kann 'i' in' onItemSelected' überprüfen, wobei i die ausgewählte Position ist oder Sie können auch 's.getSelectedItem()' –

Antwort

0

Sie

Spinner.getSelectedItem()

oder

Spinner.getSelectedItemId() verwenden können, // Return die ID des ausgewählten Artikels (sollte o verride der Methode "GetItemID" in der Adapterklasse)

oder

Spinner.getSelectedItemPosition() // Die Position des ausgewählten Elements zurückkehren (Index im Adapter)

+0

aufrufen Ich habe herausgefunden, dass ein leeres Element auch von der TextUtils.isEmpty() erkannt werden kann. –

Verwandte Themen