Собственно в этом классе (поправьте меня если я ошибаюсь) определен метод onCreateDialog, который должен вызываться при вызове метода show() в родительской активности, дающий на выходе AlertDialog. Теперь сама загвоздка: мне надо что бы BUTTON_POSITIVE был задисаблен пока пользователь не сделает определенных действий в диалоговом окне. В итоге я написал такой код:
Код: Выделить всё
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(v);
builder.setTitle(R.string.catalog);
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
submit();
}
});
final AlertDialog dialog = builder.create();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
mCatalogName.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) {
if (mCatalogName.getText().toString().trim().equals("")) {
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
} else {
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
return dialog;
Код: Выделить всё
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
собственно говоря - куда копать?
PS
приходит в голову отказаться от PositiveButton и использовать свою кнопку но возникает стойкое ощущение что это не правильно