如果某些字段为空,则Android DialogFragment禁用setPositiveButton

时间:2016-10-19 02:23:56

标签: android android-dialogfragment

我有DialogFragment正常工作。但是,如果两个文本字段为空,我需要禁用“确定”按钮。在它们不为空的情况下,“OK”按钮应该是可点击的并继续。怎么去这个? 如果有以下代码:

return new AlertDialog.Builder(getActivity())
            .setView(view)
            .setPositiveButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    if (!isDual) {

                        if (sms.getText().toString().isEmpty() || minutes.getText().toString().isEmpty() || dialog.toString().isEmpty()) {
                            Toast.makeText(getActivity(), "All Fields Required", Toast.LENGTH_SHORT).show();
                            getDialog().create();
                        } else {
                            saveToDb();
                        }
                    } else {
                        // Dual Phone
                        if (sms.getText().toString().isEmpty() || minutes.getText().toString().isEmpty() || dialog.toString().isEmpty()) {
                            if (sms2.getText().toString().isEmpty() || minutes2.getText().toString().isEmpty() || d.toString().isEmpty()) {
                                Toast.makeText(getActivity(), "All Fields Required", Toast.LENGTH_SHORT).show();
                                getDialog().show();
                            }
                            Toast.makeText(getActivity(), "All Fields Required", Toast.LENGTH_SHORT).show();
                            getDialog().show();
                        } else {
                            saveToDb2();
                        }
                    }
                }
            }
            )
            .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            })
            .create();

0 个答案:

没有答案