如何在提交前检查是否在编辑文本中输入了值?
How to Check whether a value is entered in editexts before submitting?
我有大约 5 个 edittexts.When 我点击提交按钮,它必须检查是否输入了所有字段或 not.Along 如果没有输入任何值,焦点必须转到那个所需 edittext.If 有许多编辑文本为空,然后焦点必须自上而下 order.I 使用了 seterror 方法但是当我输入该编辑文本时,错误消息不是 going.After 输入值focus是不是要去下一个edittext.how来解决这个问题?
caseno、dateloss、policy_rep、reg_book、Dri_lic 是不同的编辑文本 used.I 已经为下面的一个编辑文本编写了代码
caseno.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasfocus)
{
if(!hasfocus && caseno.getText().length()==0)
{
new Handler().postDelayed(new Runnable()
{
@Override
public void run() {
//ev2.clearFocus();
dateloss.clearFocus();
policy_rep.clearFocus();
reg_book.clearFocus();
Dri_lic.clearFocus();
caseno.requestFocus();
caseno.setError("Enter this field");
}
}, 100);
}
}
});
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(caseno!=null||dateloss!=null||policy_rep!=null||reg_book!=null||Dri_lic!=null)
{
Send_reportclaim_Async reportsync=new Send_reportclaim_Async();
reportsync.execute();
}
}
});
检查这个:
for(EditText edit : editTextList){
if(TextUtils.isEmpty(edit.getText()){
// EditText is empty
}
}
Android为此提供了setError()
方法:
if(edttxtDescription.getText().toString().trim().equals(""))
{
edttxtDescription.setError("Please provide description");
}
定义一个方法来检查您的 EditText
是否有有效数据:
private boolean validateEditTexts()
{
boolean valid = true;
if(edttxtDescription.getText().toString().trim().equals(""))
{
edttxtDescription.setError("Please provide description");
valid = false;
}
// Similarly check all your EditTexts here and set the value of valid
......
......
return valid;
}
要验证您的所有 EditTexts
,请调用 validateEditTexts()
,这将相应地 return true
或 false
。
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(validateEditTexts()){
Send_reportclaim_Async reportsync=new Send_reportclaim_Async();
reportsync.execute();
}
}
});
试试这个。这会起作用。
在你的按钮点击上使用这个
if(!textView1.toString().isEmpty() && !textView2.toString().isEmpty() && ...)
{
............
}
1) 创建此方法
public static boolean isNullOrEmpty(String input) {
return input == null || input.isEmpty();
}
2) 将数据发送给它进行验证
boolean answer = isNullOrEmpty(editText.gettext().toString());
维护 EditText 引用数组:赞
EditText[] allEts = { caseno, dateloss, policy_rep, reg_book, Dri_lic };
在提交按钮的onClick中写入如下代码:
for (EditText editText : allEts) {
String text = editText.getText().toString();
if (text.length() == 0) {
editText.setError("enter this field");
editText.requestFocus();
break;
}
}
并且,为所有编辑文本实现addTextChangedListener,以在输入文本后清除错误。
caseno.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
Editable text = caseno.getText();
if (caseno.getError() != null && text != null
&& text.length() > 0) {
caseno.setError(null);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(caseno.getText().toString()))
{
caseno.requestFocus();
Toast.makeText(getApplicationContext(),"Enter the required fields", Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(dateloss.getText().toString()))
{
dateloss.requestFocus();
Toast.makeText(getApplicationContext(),"Enter the required fields", Toast.LENGTH_LONG).show();
return;
}
}
目前这个设置对我有用...感谢回答的人
我有大约 5 个 edittexts.When 我点击提交按钮,它必须检查是否输入了所有字段或 not.Along 如果没有输入任何值,焦点必须转到那个所需 edittext.If 有许多编辑文本为空,然后焦点必须自上而下 order.I 使用了 seterror 方法但是当我输入该编辑文本时,错误消息不是 going.After 输入值focus是不是要去下一个edittext.how来解决这个问题?
caseno、dateloss、policy_rep、reg_book、Dri_lic 是不同的编辑文本 used.I 已经为下面的一个编辑文本编写了代码
caseno.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasfocus)
{
if(!hasfocus && caseno.getText().length()==0)
{
new Handler().postDelayed(new Runnable()
{
@Override
public void run() {
//ev2.clearFocus();
dateloss.clearFocus();
policy_rep.clearFocus();
reg_book.clearFocus();
Dri_lic.clearFocus();
caseno.requestFocus();
caseno.setError("Enter this field");
}
}, 100);
}
}
});
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(caseno!=null||dateloss!=null||policy_rep!=null||reg_book!=null||Dri_lic!=null)
{
Send_reportclaim_Async reportsync=new Send_reportclaim_Async();
reportsync.execute();
}
}
});
检查这个:
for(EditText edit : editTextList){
if(TextUtils.isEmpty(edit.getText()){
// EditText is empty
}
}
Android为此提供了setError()
方法:
if(edttxtDescription.getText().toString().trim().equals(""))
{
edttxtDescription.setError("Please provide description");
}
定义一个方法来检查您的 EditText
是否有有效数据:
private boolean validateEditTexts()
{
boolean valid = true;
if(edttxtDescription.getText().toString().trim().equals(""))
{
edttxtDescription.setError("Please provide description");
valid = false;
}
// Similarly check all your EditTexts here and set the value of valid
......
......
return valid;
}
要验证您的所有 EditTexts
,请调用 validateEditTexts()
,这将相应地 return true
或 false
。
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(validateEditTexts()){
Send_reportclaim_Async reportsync=new Send_reportclaim_Async();
reportsync.execute();
}
}
});
试试这个。这会起作用。
在你的按钮点击上使用这个
if(!textView1.toString().isEmpty() && !textView2.toString().isEmpty() && ...)
{
............
}
1) 创建此方法
public static boolean isNullOrEmpty(String input) {
return input == null || input.isEmpty();
}
2) 将数据发送给它进行验证
boolean answer = isNullOrEmpty(editText.gettext().toString());
维护 EditText 引用数组:赞
EditText[] allEts = { caseno, dateloss, policy_rep, reg_book, Dri_lic };
在提交按钮的onClick中写入如下代码:
for (EditText editText : allEts) {
String text = editText.getText().toString();
if (text.length() == 0) {
editText.setError("enter this field");
editText.requestFocus();
break;
}
}
并且,为所有编辑文本实现addTextChangedListener,以在输入文本后清除错误。
caseno.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
Editable text = caseno.getText();
if (caseno.getError() != null && text != null
&& text.length() > 0) {
caseno.setError(null);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
btnsubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(caseno.getText().toString()))
{
caseno.requestFocus();
Toast.makeText(getApplicationContext(),"Enter the required fields", Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(dateloss.getText().toString()))
{
dateloss.requestFocus();
Toast.makeText(getApplicationContext(),"Enter the required fields", Toast.LENGTH_LONG).show();
return;
}
}
目前这个设置对我有用...感谢回答的人