如果编辑文本为空,请勿更改焦点

时间:2018-03-28 07:54:13

标签: android

我正在使用编辑文本中的验证。我在我的表单中有5个编辑文本,我想要的是如果任何编辑文本为null,那么它不应该破坏它的焦点。我已尝试从this link.

验证回答

但在我的5个编辑文本的情况下,它无法正常工作。

请帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个

            button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String val1=editText1.getText().toString().trim();
            String val2=editText2.getText().toString().trim();
            String val3=editText3.getText().toString().trim();
            String val4=editText4.getText().toString().trim();
            String val5=editText5.getText().toString().trim();

            if(TextUtils.isEmpty(val5)){
                editText5.requestFocus();
                editText1.setFocusable(false);
                editText2.setFocusable(false);
                editText3.setFocusable(false);
                editText4.setFocusable(false);
            }else {
                editText4.setFocusable(true);
            }

            if(TextUtils.isEmpty(val4)){
                editText4.requestFocus();
                editText1.setFocusable(false);
                editText2.setFocusable(false);
                editText3.setFocusable(false);

            }else {
                editText3.setFocusable(true);
                editText1.setFocusable(false);
                editText2.setFocusable(false);
                editText4.setFocusable(false);
            }

            if(TextUtils.isEmpty(val3)){
                editText3.requestFocus();
                editText1.setFocusable(false);
                editText3.setFocusable(false);
                editText4.setFocusable(false);
            }else {
                editText2.setFocusable(true);
            }

            if(TextUtils.isEmpty(val2)){
                editText2.requestFocus();
            }else {
                editText1.setFocusable(true);
            }

            if(TextUtils.isEmpty(val1)){
                editText1.requestFocus();
            }

            if(!TextUtils.isEmpty(val1) &&
                    !TextUtils.isEmpty(val2) &&
                    !TextUtils.isEmpty(val3) &&
                    !TextUtils.isEmpty(val4) &&
                    !TextUtils.isEmpty(val5) ){
                Toast.makeText(MainActivity.this, "PASS", Toast.LENGTH_SHORT).show();
            }
        }
    });

答案 1 :(得分:0)

  • 首先检查EditText为空,null或匹配某些特定文本 根据您的要求。
  • 使用if&amp ;;检查5个EditTexts否则如果陈述。如果条件为真,则将事物更改为EditText 你想做什么。
  • 在其他部分,设置您要设置的内容if,if或else if condition。

根据我在你的问题中的理解,我写了一个代码。试试吧。

final EditText et1 = (EditText) findViewById(R.id.et1); //get referance to all 5 EditTexts. I showed for 2 EditTexts
final EditText et2 = (EditText) findViewById(R.id.et2);

if (et1.getText().toString().length() < 1) { //check EditText empty or not.
            //do what you want to edit/change in EditText. like below.
            et1.setFocusableInTouchMode(true);
            et1.requestFocus();

        } else if (et2.getText().toString().length() < 1) {
        //Check for second EditText empty or not. Do this for all 5 edit texts.
            et2.setFocusableInTouchMode(true);
            et2.requestFocus();
        }
        else{
        //if All EditTexts not empty. do what you want to edit/change in edittext.
            et1.setFocusableInTouchMode(false);
            et2.setFocusableInTouchMode(false);
        }