1

フォーム入力を検証するためのこれらの数行のコードがあります。ただし、何も出力されません。空のボックスだけです。何が欠けていますか?

 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
        }
     } 
  }
4

4 に答える 4

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()は非表示のエラーテキストを生成します

于 2013-03-12T13:04:36.720 に答える
1

Html オブジェクトを使用して、簡単かつ迅速に書式設定します。

this.txtUserName.setError(Html.fromHtml("<font color='red'>Incorrect input!</font>"));
于 2013-12-18T09:58:38.670 に答える
0

プロジェクトのアプリケーション テーマを変更したところ、「マニフェスト ファイルとエラー テキストが表示されます。

変更前:

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

変更後:

android:theme="@android:style/Theme.Black.NoTitleBar"
于 2013-04-25T08:40:40.000 に答える
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 );

                }
于 2013-03-12T13:09:41.963 に答える