Как я получаю каждое значение edittext, когда добавляю Viewtext для редактирования в форму? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть кнопка, которая, когда я нажимаю на нее, в форму добавит edittext к форме (я использую addView ). Это похоже на форму заказа, когда мне нужно «добавить еще пункт».

Когда я нажал кнопку Сохранить, как я могу получить все значения edittext?

View moreItem = inflater.inflate(R.layout.add_item, (LinearLayout) findViewById(R.id.linearItem), false);
final LinearLayout linearForm = (LinearLayout)findViewById(R.id.linearItem);
linearForm.addView(moreItem);

Текст для редактирования находится внутри R.layout.add_item

Ответы [ 3 ]

0 голосов
/ 08 ноября 2018
declare  array list

окончательный список edittext = new ArrayList <> (); Кнопка добавления; сохраните каждое значение в списке и восстановите, где вы хотите

      addbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) { 
         final LinearLayout linearLayout = new LinearLayout(classname.this);
            linearLayout.setOrientation(LinearLayout.HORIZONTAL);
            final EditText edt1 = new EditText(classname.this);
            edt.setInputType(InputType.TYPE_CLASS_NUMBER);
       edittext.add(edt2);

}}

0 голосов
/ 09 ноября 2018

Спасибо за все ответы.

Я делаю переменную clickcount, чтобы подсчитывать каждую нажатую кнопку добавления. Я решил эту проблему с

editText.setTag("et"+clickcount); //When I add more button

и сделать цикл for

for (int i = 1; i <= clickcount; i++) {
   editText= resultView.findViewWithTag("et"+i);
   String text= editText.getText().toString();
}

Спасибо jitesh mohite за идею с использованием getTag ()

0 голосов
/ 08 ноября 2018

Когда вы добавляете editText - addView() в родительское представление, вы можете получить все значения editText, запустив цикл. Внутри кнопки отправки clickListener добавьте следующий код:

int count = parentLayout.getChildCount();
String[] editTextValues = new String[count];
    for (int i = 0; i < count; i++) {
        View view = parentlayout.getChildAt(i);          
        if (view instanceof EditText) {
            EditText edittext = (EditText) view;
            editTextValues[i] = editText.getText().toString();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...