Я пытаюсь получить все значения TextView и EditText внутри ListView, но у меня есть странная проблема. Вот мой пример кода, я удалил EditText держать его просто:Как получить значение всего textView внутри Listview?
lv = (ListView) findViewById(R.id.person_details_lv);
Integer x = lv.getAdapter().getCount();
for (int i = 0; i < lv.getAdapter().getCount(); i++) {
View viewRow = lv.getChildAt(i);
//this next condition get the index of the view visible only
if (viewRow != null) {
TextView NameEditText = (TextView) viewRow.findViewById(R.id.detail_name);
Log.d("hello", "Anything detected onscreen:" + NameEditText.getText().toString() + ");
}}
Вопрос заключается в том, что это только вернуть View видимую на экране. Тем не менее, getCount
подсчитывает все. Как результаты, я получаю эту ошибку
java.lang.NullPointerException
Я добавил это условие: if (viewRow != null)
удалить ошибку, но он продолжает показывать только вид видимый на экране. Когда я просматриваю listView, результаты также меняются. Я хочу сделать, чтобы значение TextViewe в ListView было видно на экране или нет.
Извлеките значения из списка, который вы используете –
Почему вы не получаете элементы из адаптера? –
, пожалуйста, покажите, как вы настроили адаптер - есть ли список, содержащий все данные? – 0X0nosugar