2013-03-12 90 views
1

我有幾行代碼來驗證表單輸入。但是,它不輸出任何內容 - 只是一個空白框。請問我錯過了什麼?Android setError()保留空白

public void onClick(View view) 
{ 
    if(view.getId() == R.id.btnLogin) 
    { 
     TestClass.setUsername(txtUserName.getEditableText().toString()); 
     TestClass.setPassword(txtPassword.getEditableText().toString()); 

     if(TestClass.getUsername().toString().length() == 0) 
     { 
      this.txtUserName.setError("Incorrect input!"); 
     } 
     else if(TestClass.getPassword().toString().length() == 0) 
     { 
     this.txtPassword.setError("Incorrect input!"); 
     } 
     else 
     { 
       // do the login stuff here 
     } 
    } 
    } 
+0

可能重複[edittext.setError()在Android中不工作?](http://stackoverflow.com/questions/7747268/edittext-seterror-not-working-in-android) – njzk2 2013-03-12 13:02:52

+0

之前查詢 – njzk2 2013-03-12 13:02:59

+0

可能的重複[Android的EditText.setError()產生不可見的錯誤文本](http://stackoverflow.com/questions/7273932/android-edittext-seterror-yields-invisible-error-text) – Pragnani 2013-03-12 13:05:09

回答

3

試試這個,

int ecolor = Color.RED; // whatever color you want 
String estring = "Input is incorrect"; // your error message 
ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor); 
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring); 
ssbuilder.setSpan(fgcspan, 0, estring.length(), 0); 
myedittext.setError(ssbuilder); 

來源:Android EditText.setError() yields invisible error text

+0

@泰米爾語&& Pragnani:非常感謝...作品像一個魅力:-) – user2088362 2013-03-12 13:23:37

+0

不適合我:( – 2013-04-03 09:15:12

0

試試這個代碼:

   if (editTextName.getText().toString().length() == 0) { 
        int ecolor = getResources().getColor(R.color.blue); // whatever color you want 
        String estring = "Input is incorrect"; 
        ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor); 
        SpannableStringBuilder builder = new SpannableStringBuilder(estring); 
        ssbuilder.setSpan(fgcspan, 0, estring.length(), 0); 
        editTextName.setError(builder); 

       } 
+0

對不起,我發佈前做過搜索 - 但可能不夠詳細。 – user2088362 2013-03-12 13:14:42

0

我只是改變了應用程序的主題在我的項目「清單文件和錯誤文本正在出現。

變更前:

android:theme="@android:style/Theme.Light.NoTitleBar" 

變更後:

android:theme="@android:style/Theme.Black.NoTitleBar" 
1

使用HTML對象,方便和快速格式化:中

this.txtUserName.setError(Html.fromHtml("<font color='red'>Incorrect input!</font>")); 
+0

爲我工作的某些設備。 – 2014-04-07 08:06:59