2016-07-29 13 views
0

Ich habe viel versucht und tat R & D, aber konnte nicht zu zeigen, eigene benutzerdefinierte Fehler unter EditText Drawable zeigen.Fehler Text Popup unter EditText

Hier ist mein Code:

String str = "Please enter a valid email address”; 

// This line is used to give color to error text. 
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.YELLOW); 

// This line is used to give background color to error text. 
BackgroundColorSpan backColorSpan = new BackgroundColorSpan(Color.BLUE); 

// This s basically a StringBuilder that implements CharSequence interface. 
SpannableStringBuilder strBuilder = new SpannableStringBuilder(str); 

strBuilder.setSpan(colorSpan, 0, str.length(), 0); 
EditText et = (EditText)findViewById(R.id.et); 
Drawable drawable = getResources().getDrawable(R.drawable.btn); 

// This line shows our own icon in place of default icon. 
setError(CharSequence, Drawable); 

So, strBuilder in next line is an implementation of CharSequence. 
et.setError(strBuilder, drawable); 

Jede Lösung?

+0

Können Sie Ihren Code und ein Bild von dem, was Sie erreichen möchten? – Mussa

Antwort

0

ich die Lösung gefunden.

Sie müssen die Methode setBound() für ein Zeichenobjekt aufrufen. Sie müssen diese Zeile setzen:

drawable.setBounds(0,0,drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); 
+0

Es hat richtig funktioniert. Vielen Dank. –