Как получить текст из TextViews, которые динамически создаются в Android?

Я не знаю номер. textview, который должен быть создан во время выполнения. Список Textviews получает с сервера. Я создаю текстовые представления, используя функцию ниже. Поскольку я новичок в Android, я не могу получить текст из всех текстовых представлений. Пожалуйста, предложите мне решение

private void textview (текст строки) {

    TextView txt_view= new TextView(this);


    txt_view.setText(text);

    linearLayout.addView(txt_view);

}

Пожалуйста, предложите мне решение, которое я застрял в получении текста из многих текстовых представлений.

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

Изображение выше - это моя форма, я хочу получить текст из всех представлений, которые создаются динамически и сохраняются в firebase.


person Shashwat Gupta    schedule 24.01.2017    source источник
comment
txt_view.getText().tostring(); Это поможет вам.   -  person Jaimin Thakkar    schedule 24.01.2017
comment
он даст текст одного текстового представления, но если m имеет n количество текстовых представлений с тем же именем объекта, как я могу получить текст из всех этих n нет. просмотров текста   -  person Shashwat Gupta    schedule 24.01.2017
comment
Этот вопрос не так хорошо обсуждался час назад: stackoverflow.com/questions/41828261/   -  person Mike M.    schedule 24.01.2017
comment
Используйте Arraylist с модальным классом. Установите значения textview с классом perticular modal и получайте данные из модального окна всякий раз, когда вам это нужно. ???? ????????????   -  person Jaimin Thakkar    schedule 24.01.2017


Ответы (4)


добавьте свой TextView к HashMap с unique key и сопоставьте свой ключ и получите значение от map, это обязательно вам поможет. после этого во время выборки данных используйте цикл for и получите данные, используя этот unique key

person Shaifali Rajput    schedule 03.04.2017
comment
Да!! Может быть, HashMap может работать для меня. Не могли бы вы добавить базовый код, чтобы я мог реализовать его в своем коде? - person Shashwat Gupta; 04.04.2017
comment
private void textview (строковый ключ, строковый квест) { tv_custom = новый TextView (это); tv_custom.setText (квест); linearLayout.addView (tv_custom); map.put(ключ, квест); } - person Shaifali Rajput; 05.04.2017
comment
Карта ‹String, TextView› карта; map = новая карта ‹String, TextView› HashMap(); private void textview (ключ String, значение String) { tv_custom = new TextView (this); tv_custom.setText (значение); linearLayout.addView (tv_custom); map.put(ключ, квест); } теперь ваше значение добавляется к карте с помощью уникального ключа, и используйте следующее: for (Map‹String, TextView›.Entry entry: map.entrySet()) { String key = entry.getKey(); Значение EditText=entry.getValue(); Строка text=value.getText().toString(); } - person Shaifali Rajput; 05.04.2017
comment
объявить TextView tv_custom; глобально - person Shaifali Rajput; 05.04.2017

Просто получите его из своего объекта TextView, например:

txt_view.getText().toString();
person karthik    schedule 24.01.2017

Используйте тот же объект TextView, чтобы получить его текст. txt_view.getText().toString();

Вы можете получить тот же объект TextView, найдя дочерние элементы LinearLayout.

person Ganesh AB    schedule 24.01.2017
comment
не могли бы вы уточнить, как я могу найти дочерний элемент Linear Layout? - person Shashwat Gupta; 24.01.2017
comment
stackoverflow.com/questions/6615723/ - person Ganesh AB; 24.01.2017
comment
@ĜüptåŠhãsĥwæt это полезно? - person Ganesh AB; 25.01.2017
comment
да, это работает для меня для получения текста из textview Спасибо, но я действительно хочу, чтобы текст из textview и из соответствующего edittext передавали значение в firebase - person Shashwat Gupta; 27.01.2017

Как насчет того, чтобы сохранить их в ArrayList и перебрать его, чтобы получить все и впоследствии манипулировать ими.

ArrayList<TextView> alTextViews = new ArrayList<>();

private void textview(String text) {

    TextView txt_view= new TextView(this);
    alTextView.add(txt_view);


    txt_view.setText(text);

    linearLayout.addView(txt_view);

}

с участием

alTextView.get(0).getText().toString();

ты получишь текст

person Hani    schedule 24.01.2017
comment
что будет get(0) предоставьте мне здесь. если position , то он не даст желаемого результата, потому что я не знал количество текстовых представлений в моем макете, так как я могу получить текст из последнего текстового просмотра. - person Shashwat Gupta; 24.01.2017
comment
for (int i = 0; i‹alTextView.size(); i++) { String text = alTextView.get(i).getText().toString();} чтобы получить один за другим или даже лучше с помощью итератора: stackoverflow.com/a/24943728/7325737 последний: alTextView.get(alTextView.size()-1).getText ().нанизывать(); - person Hani; 24.01.2017