2010-12-02 17 views
5

Hallo Wie man ein Etikett in Spinner einstellen: dh das Etikett sollte zunächst sichtbar, wenn Benutzer clicke die Spinner-Schaltfläche Optionen sichtbar, wenn Benutzer die Option auswählen, die das Etikett sollte mit dem neuen Element ersetzen, ist es möglich mit Spinner?Android-Einstellung Etikett zu Spinner

Antwort

6

Spinners haben keine "Etiketten". Darüber hinaus, obwohl, was ich denke, Sie beschreiben, ist genau das, was ein Spinner tut:

  • Im geschlossenen Zustand zeigt die zuletzt vom Benutzer vorgenommene Auswahl oder der ersten Auswahl, wenn es
  • nie geöffnet wurde
  • Wenn geöffnet, zeigt eine Auswahlliste der verfügbaren Auswahlmöglichkeiten für den Benutzer
+0

Ware, ich einige Etiketten tatsächlich einstellen wollen, anstatt den Standardwert. – Bytecode

+0

Nun habe ich dies mit einem Knopf und einem Dialogfeld getan, ich möchte wissen, dass es möglich ist mit dem Spinner – Bytecode

0

Ich denke, es ist möglich. Ich würde es in folgenden Weise tun:

  1. Aufblasfunktion mit gewünschtem Text/label
  2. Taste Intercept drücken
  3. on-fly erstellen Spinnern
  4. ersetzen Button mit Spinnern
  5. Seien Sie glücklich
+10

4.5) Mach dir keine Sorgen –

1

Sie können Ihren ersten Artikel als Etikett setzen:

<string-array name="countriesList"> 
    <item>(Select country)</item> 
    <item>Country 1</item> 
    <item>Country 2...</item> 
</string-array> 
1

Ich löste dieses Problem auf diese Weise:

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
      if(phonePrefix != null && phonePrefix.getAdapter() != null) 
      { 
       TextView txt = (TextView) phonePrefix.getSelectedView(); 
       String str = txt.getText().toString(); 
       String [] arr = str.split(" "); 
       str = arr[1] + " " + arr[2]; 
       txt.setText(str); 
      } 
     } 

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

     } 
    });