Intereting Posts
Как запустить новый Chrome для Android 4 в Android Emulator? Html.ImageGetter Внедрить датчик запуска и остановки Отправлять push-уведомления на Android Возможно ли получить последнюю измененную дату из файла активов? QScroller Кинетическая прокрутка не является гладкой После проверки номера телефона с цифры на твиттере, я получаю два экземпляра моего приложения в последних действиях Панель инструментов в AppBarLayout прокручивается, хотя RecyclerView недостаточно для прокрутки Класс IntentService не запускает AsyncTask в главной теме. Вызов метода должен быть вызван из основного потока, в настоящее время выбранный поток является рабочим Тестовые фрагменты Roboelectric 3.0 0 байтовый файл появляется при захвате экрана с помощью screencap Android-приложение с базой данных постоянно «запускает / ожидает блокировку gc alloc» Почему, ресурсы в android превращаются в HEXA-DECIMAL внутри R.java Как получить показатели экрана за пределами действия? Как удалить ошибку «Требуется уровень API»?

Несколько объектов EditText в AlertDialog

Я работаю над проектом для колледжа, который позволит пользователю разместить точку на карте, а затем установить заголовок и описание объекта наложения. Проблема в том, что второе поле EditText перезаписывает первый. Вот мой код для диалогового окна.

 //Make new Dialog AlertDialog.Builder dialog = new AlertDialog.Builder(mapView.getContext()); dialog.setTitle("Set Target Title & Description"); dialog.setMessage("Title: "); final EditText titleBox = new EditText(mapView.getContext()); dialog.setView(titleBox); dialog.setMessage("Description: "); final EditText descriptionBox = new EditText(mapView.getContext()); dialog.setView(descriptionBox); 

Любая помощь будет оценена! Благодаря!

Solutions Collecting From Web of "Несколько объектов EditText в AlertDialog"

Как и любой другой макет, вам нужно добавить оба EditTexts в ViewGroup:

 Context context = mapView.getContext(); LinearLayout layout = new LinearLayout(context); layout.setOrientation(LinearLayout.VERTICAL); final EditText titleBox = new EditText(context); titleBox.setHint("Title"); layout.addView(titleBox); final EditText descriptionBox = new EditText(context); descriptionBox.setHint("Description"); layout.addView(descriptionBox); dialog.setView(layout); 

Это базовый пример, но он должен вас начать.

Вы можете создать свой макет, содержащий два EditText, раздуть его с помощью LayoutInflater и использовать его как представление вашего AlertDialog .

 LayoutInflater factory = LayoutInflater.from(this); //text_entry is an Layout XML file containing two text field to display in alert dialog final View textEntryView = factory.inflate(R.layout.text_entry, null); final EditText input1 = (EditText) textEntryView.findViewById(R.id.EditText1); final EditText input2 = (EditText) textEntryView.findViewById(R.id.EditText2); input1.setText("DefaultValue", TextView.BufferType.EDITABLE); input2.setText("DefaultValue", TextView.BufferType.EDITABLE); final AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setIcon(R.drawable.icon).setTitle("EntertheText:").setView(textEntryView).setPositiveButton("Save", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { Log.i("AlertDialog","TextEntry 1 Entered "+input1.getText().toString()); Log.i("AlertDialog","TextEntry 2 Entered "+input2.getText().toString()); /* User clicked OK so do some stuff */ } }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { /* * User clicked cancel so do some stuff */ } }); alert.show(); 

Введите описание изображения здесь

Вы можете добавить программный код EditText так же, как это:

 LinearLayout layout = new LinearLayout(mapView.getContext()); layout.setOrientation(LinearLayout.VERTICAL); final EditText titleBox = new EditText(mapView.getContext()); titleBox.setHint("Title"); layout.addView(titleBox); final EditText descriptionBox = new EditText(mapView.getContext()); descriptionBox.setHint("Description"); layout.addView(descriptionBox); dialog.setView(layout); 

Код для создания всплывающего окна с двумя EditText с использованием Xamarin

  public void dial() { AlertDialog alerta = new AlertDialog.Builder(this).Create(); LinearLayout layout = new LinearLayout(this); layout.Orientation = Orientation.Vertical; EditText factinput = new EditText(this); alerta.SetMessage("Facturas Disponibles:"); layout.AddView(factinput); EditText canttinput = new EditText(this); alerta.SetMessage("Cantidad:"); layout.AddView(canttinput); alerta.SetView(layout); alerta.SetButton("Cancelar", (a, b) => { AlertDialog cencelacion = new AlertDialog.Builder(this).Create(); cencelacion.SetMessage("Desea Cancelar"); cencelacion.SetButton("OK", (c, d) => { }); cencelacion.Show(); }); alerta.SetButton2("Aceptar", (ee, f) => { AlertDialog confirmacion = new AlertDialog.Builder(this).Create(); confirmacion.SetMessage("Realizar Busqueda de Factura"); confirmacion.SetButton("OK", (c, d) => { }); confirmacion.Show(); } ); alerta.Show(); }