仅在填写所有详细信息后才能显示按钮

时间:2015-12-15 11:00:51

标签: android visibility user-registration

我创建了注册页面,看起来像这样

Registration Form

现在我的要求是,我想要下一步只有当用户填写了表单中的所有详细信息时,按钮才会显示。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:5)

您需要对要验证的所有表单字段使用addTextChangedListener() Edittext,检查所有edittext是否包含文本。

在所有EditText.addTextChangedListener().中查看此内容 在 boolean all_data_filled_up()方法中,您可以检查所有字段是否已填充(您还可以在其中添加其他验证)。

edtMail.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
              //check for all edittext data
              if(all_data_filled_up())
                 enable button
        }
    });

答案 1 :(得分:3)

以编程方式,您可以将按钮设置为

findYiewById(R.id.next_button).setVisibility(View.INVISIBLE);

或者在xml布局文件中添加

android:visibility="invisible"

如前所述,您应检查是否已填写所有EditText字段,然后您可以通过

设置按钮可见
findViewById(R.id.next_button).setVisibility(View.VISIBLE)

要检查是否所有EditText都已填写,您可以实现一个onFocusChange Listener,如RRR所述

答案 2 :(得分:0)

在OnCreate中

myarray

制作一个mothodo以检查某些EditText是否为null并检查用户何时在某些EditText中放置一个char:

yourButton.setVisibility(View.INVISIBLE);
yourButton.setEnabled(false);

所以当用户在某个EditText中放置一个char时,你会调用methodo。