根据正确的输入启用和禁用对话框?

时间:2015-06-29 14:41:49

标签: android

这是一个弹出按钮,如果用户点击提交而不先输入输入,则需要禁用该按钮:

new AlertDialog.Builder(getActivity())
    .setView(view)
    .setPositiveButton(android.R.string.ok,
            new DialogInterface.OnClickListener() {
        @Override
        public void onClick(final DialogInterface dialog,
                final int which) {
            EditText nameEditText = (EditText) view
                    .findViewById(
                            R.id.save_search_dialog_name);
            postToBus(new SaveSearchEvent(
                    nameEditText.getText().toString(),
                    search));
            postToBus(new GoogleAnalyticEvent(
                    GA.CATEGORY_SEARCH_CONTROL,
                    GA.EVENT_SEARCH_SAVE_SEARCH));
            dialog.dismiss();
        }
        //check to see if dialog is empty
        private boolean isEmpty(EditText etText) {
            return etText.getText().toString().trim().length() == 0;
        }
    }

我正在尝试创建一个方法,该方法将检查以确保我的弹出对话框不能为空。我试过一个方法isEmpty,但不确定如何使用它,或者甚至可能不是正确的方法?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你能提供上下文吗?你有一个应该启用/禁用的按钮吗?在这种情况下,我建议使用这个:

EditText editText = (EditText)findViewById(R.id.your_edit_text_id);
editText.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable s) {

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if(TextUtils.isEmpty(s)) { // check whatever you want
            // Disable button or something
        } else {
            // Enable
        }
    } 

});
相关问题