2013-09-30 9 views
7

için benzer bir döndürücü pencere öğesi için doğrulama hatası nasıl görüntülenir? TextView.setError() için benzer bir döndürücü pencere öğesi için doğrulama hatası nasıl görüntülenir Her çevirici için yeni bir iletişim kutusu açmak istemiyorum doğrulama hatası, android.widget.Spinner sınıfı, setError yöntemine sahip değildir.TextView.setError()

cevap

0

Böylece, getView'unuzdaki 'setError' öğesini çevirici adaptöründe kullanabilirsiniz. senin eğiren Öğenizin xml bir TextView varsa Elbette: Varsayılan öğe ile

değer değiştirici olduğunu
if(requeriedField && item.getValue() == 0){ 
    img_tittle_spinner.setError(activity.getResources().getString(R.string.FieldRequired)); 
} 
18

ise set-up Spinner sınıfına getSelectedView() yöntem TextView dönecektir görüyor. Ve bu konuda size Burada setError(CharSequence) çağırabilir ne yaptım:

View selectedView = spinner.getSelectedView(); 
if (selectedView != null && selectedView instanceof TextView) { 
    TextView selectedTextView = (TextView) selectedView; 
    if (!valid) { 
     String errorString = selectedTextView.getResources().getString(mErrorStringResource); 
     selectedTextView.setError(errorString); 
    } 
    else { 
     selectedTextView.setError(null); 
    } 
} 

Sonucu Android 4.4 üzerinde şuna benzer:

Spinner with error

+3

Çevirici varsayılan değeri nasıl ayarlanır, çünkü her zaman spinner.getSelectedView() işlevini çağırırım çünkü null var, çünkü döndürücemde hiçbir şey seçilmedi. – vikifor

0

Diederik kodunu yapmanın biraz daha temiz bir yol:

static public void setSpinnerError(Spinner spinner, String error){ 
    View selectedView = spinner.getSelectedView(); 
    if (selectedView != null && selectedView instanceof TextView) { 
     TextView selectedTextView = (TextView) selectedView; 
     selectedTextView.setError(error); 
    } 
} 

İşten çıkarmak isterseniz, error numaralı telefonu null numaralı numaraya ayarlayın.