Как отключить кнопку «ОК» до выбора значения радио? Этот Dialogfragment показывает существующие почтовые учетные записи в однокнопочных переключателях. Я использовал это:Android: отключить кнопки DialogFragment OK до тех пор, пока не будет выбрано значение радиосвязи
Button buttonNo = alert.getButton(AlertDialog.BUTTON_POSITIVE);buttonNo.setEnabled(false);
Но не Рабочая .Здесь мой код:
public String[] allemails()
{
_accountMgr = AccountManager.get(getActivity());
Account [] accounts = _accountMgr.getAccounts();
numberOfEmail = accounts.length ;
String [] emailAddress = new String[numberOfEmail];
for (Account account : accounts) {
accountsList = account.name.toString();
emailAddress[r] = accountsList;
r += 1;
}
MyAlertDialog f = new MyAlertDialog();
Bundle args = new Bundle();
args.putStringArray("Title", emailAddress);
f.setArguments(args);
return emailAddress;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(Html.fromHtml("<font color='#FFFF'>" + "Choose Account" + "</font>"));
builder.setIcon(R.drawable.ic_udinic);
builder.setCancelable(false)
.setSingleChoiceItems(allemails(), -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id)
{
}});
builder.setCancelable(false)
.setPositiveButton("Set", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
ListView lw = ((AlertDialog)dialog).getListView();
CharSequence checkedItem = (CharSequence) lw.getAdapter().getItem(lw.getCheckedItemPosition());
// Toast.makeText(getActivity(), checkedItem, Toast.LENGTH_LONG).show();
((Main)getActivity()).doPositiveClick(checkedItem);
dialog.dismiss();
}
});
builder.setCancelable(false)
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
//Toast.makeText(getActivity(), "You Press Cancel Button", Toast.LENGTH_LONG).show();
dialog.cancel();
}
});
// Create the AlertDialog object and return it
return builder.create();
}
Не работает эта логика @SMR –
Вы внедряете ее на 'onCreateDialog'? – SMR
Да @SMR. Я новичок в Android. By by ... Все значения радио являются динамическими. Как я могу установить/инициализировать «radiobtn1». Я использовал try & catch block. Но не работал –