public class MainActivity extends Activity {
private EditText emailEditText;
private EditText passEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
emailEditText = (EditText) findViewById(R.id.editText_email);
passEditText = (EditText) findViewById(R.id.editText_password);
findViewById(R.id.btn_signup).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final String email = emailEditText.getText().toString();
if (!isValidEmail(email)) {
emailEditText.setError("Invalid Email");
}
final String pass = passEditText.getText().toString();
if (!isValidPassword(pass)) {
passEditText.setError("Invalid Password");
}
}
});
}
我使用这个代码验证时显示在android系统的EditText错误消息右侧但是它显示了以下错误消息,我想显示相邻EditText
消息即;右边EditText
。使用而不是在下面编辑文本
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name" />
</android.support.design.widget.TextInputLayout>
当你想setError
只取它的TextInputLayout
和setError
参考,当错误被解决,然后由经过的null
其删除:
之外多数民众赞成根据你的主题 – singularity
如果什么没有足够的空间在右边 ? –
@BatCat这个问题与你建议的不同 –