当字段为空时,Android Studio EditText需要红线,非空时需要绿色

时间:2016-10-13 09:58:47

标签: android

我试图制作我的第一个应用程序并尝试在运行时指示该字段是否为空...

<EditText
    android:inputType="numberDecimal"
    android:id="@+id/elecCurrentEdit"
    android:layout_alignParentRight="true"
    android:layout_below="@id/electPriviousEdit"
    android:layout_width="120sp"
    android:layout_height="wrap_content" />

3 个答案:

答案 0 :(得分:0)

执行此操作的标准方法是使用hint

 <EditText
     android:id="@+id/email_address"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:hint="@string/email_hint"
     android:inputType="textEmailAddress" />

答案 1 :(得分:0)

您可以使用此代码检查edittext是否为空字符串/字符。

           if (editTextID.getText().toString().length() < 6)
                editTextID.setError("6 Characters!");  
           else{
                //some code here
                }

答案 2 :(得分:0)

enter code here在资源

中的drawable文件夹中写入drawable xml

不要忘记在名为borderColor的资源中声明颜色。

并将此背景分配给EditText

rounded_border_edittexterror.xml文件。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
   <solid android:color="#ffffff"/>
         <corners android:radius="10dp" />
      <stroke
     android:width="2dp"
      android:color="#FFE70A2F"
     />
     </shape>
</selector>

rounded_border_edittext.xml文件。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
       <solid android:color="#ffffff"/>
         <corners android:radius="10dp" />
      <stroke
     android:width="2dp"
      android:color="#FF5FAC16"
     />
     </shape>
  </selector>

  EditText usernameEditText = (EditText) findViewById(R.id.editUsername);
  String sUsername = usernameEditText.getText().toString();
  if (sUsername.matches("")) 
  {               usernameEditText.setBackgroundResource(R.drawable.rounded_border_edittexterror);
 Toast.makeText(this, "You did not enter a  username",Toast.LENGTH_SHORT).show();
  return;
}
  else {
  usernameEditText.setBackgroundResource(R.drawable.rounded_border_edittext);
  }