Я пытаюсь включить positivebutton
из AlertDialog
только когда текст задан в обоих полях editText
, но это не работает, т.е. PositiveButton
не отображается, даже если у меня есть текст в обоих полях .
Конечно, если у меня нет текста в обоих полях, я получаю ошибку NumberFormatException: empty String
case R.id.action_geolocate:
AlertDialog.Builder placePicker = new AlertDialog.Builder(this);
LayoutInflater li = LayoutInflater.from(this);
final View view = li.inflate(R.layout.fragment_place, null);
placePicker.setView(view);
placePicker.setTitle("Enter Latitude and Longitude");
final EditText lat2 = view.findViewById(R.id.lati2);
final EditText long2 = view.findViewById(R.id.longi2);
if (lat2.getText().toString().length()>0 && long2.getText().toString().length()>0) {
placePicker.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Lat = Double.parseDouble(lat2.getText().toString());
Long = Double.parseDouble(long2.getText().toString());
setupViewPager();
}
});
}
placePicker.setNegativeButton("Cancel", null);
placePicker.show();
return true;
Обновление
placePicker.setNegativeButton("Cancel", null);
AlertDialog pp = placePicker.create();
pp.show();
pp.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
if (!TextUtils.isEmpty(lat2.getText().toString())){
pp.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
return true;