2017-01-24 3 views
0

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

частной пустоту TextView (String текст) {

TextView txt_view= new TextView(this); 


    txt_view.setText(text); 

    linearLayout.addView(txt_view); 

} 

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

enter image description here

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

+0

txt_view.getText(). tostring(); Это поможет вам. –

+0

он даст текст одного текстового вида, но если m имеет n число текстовых представлений с одним и тем же именем объекта, как я могу получить текст изm все эти n нет. текстовых просмотров –

+0

Этот вопрос не прошел так хорошо, как час назад: http://stackoverflow.com/questions/41828261/how-to-get-text-from-dynamically-created-textview-in-android –

ответ

2

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

+0

Да! Возможно, HashMap может работать для меня. Вы можете добавить базовый код, чтобы я мог реализовать в своем коде –

+0

private void textview (String key, String quest) { tv_custom = новый TextView (this); tv_custom.setText (квест); linearLayout.addView (tv_custom); map.put (ключ, квест); } –

+0

Карта map; map = new Карта HashMap(); private void textview (String key, String value) { tv_custom = новый TextView (this); tv_custom.setText (значение); linearLayout.addView (tv_custom); map.put (ключ, квест); } теперь ваше значение добавляется к карте с уникальным ключом, и получить с помощью следующих действий: для (Map .entry запись: map.entrySet()) { Строка ключ = entry.getKey() ; Значение EditText = entry.getValue(); Строка text = значение.getText(). ToString(); } –

0

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

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

+0

не могли бы вы рассказать, как я могу найти ребенка из линейного макета? –

+0

http://stackoverflow.com/questions/6615723/getting-child-elements-from-lingleayout –

+0

@ ĜüptåŠhãsĥwæt это полезно? –

-1

Как насчет того, чтобы хранить их в 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(); 

вы получите текст

+0

, что получит (0), предоставит мне здесь. если позиция, то она не даст желаемого результата, потому что я не знал количество текстовых представлений в моем макете, так как я могу получить текст из последнего текстового представления. –

+0

for (int i = 0; i Hani

1

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

txt_view.getText().toString(); 
Смежные вопросы