Я пробовал следующее, но мне не повезло, так как getChildAt всегда возвращает null (я уверен, что listView заполнен).
listView.performItemClick(listView.getChildAt(0), 0, listView.getChildAt(0).getId());
Какие-либо предложения? Благодарю!
Отредактировано: код для добавления элемента в список
lvAdapter = new ActionStreamAdapter<HasDescription>(getBaseContext());
while ((item = actionStreamQueue.poll()) != null) {
...
lvAdapter.addItem(item);
}
ListView.setAdapter(lvAdapter);
Где ActionStreamAdapter - это класс, расширяющий BaseAdapter. Очередь заполняется вызовом Dao простого класса sturcure данных.
Существует разница между детьми и предметами. Ребенок - это представление, которое ниже в иерархии представлений. Например, когда есть LinearLayout, содержащий два TextViews, TextViews являются дочерними элементами LinearLayout. В элементе ListView есть элементы. Они находятся на том же иерархическом уровне, что и ваш ListView, поэтому они не являются дочерними. Это элементы ListView. Вместо этого вы должны использовать ListView.getItemAtPosition().
Тогда есть разница между выбором и щелчком. Щелчок означает выполнение действия над элементом, и выделение выделяет его. Для выбора первого элемента вы должны сделать что-то вроде: ListView.getItemAtPosition(n).requestFocus()
Это интересный API, где он принимает указатель на viewitem, обычно элементы listview перерабатываются, поэтому элемент в позиции 0 не должен быть 0-м элементом адаптера. Вы можете использовать findViewWithTagTraversal(), чтобы найти представление и сделать выбор на нем.
Если вы не возражаете против того, что вы хотите сделать с выбором, или хотите сосредоточиться на первом элементе?
Вы можете использовать setSelection()