Мне нужно изменить ресурс, используемый в ImageView внутри строки ListView. Я использую это:получить subView внутри макета строки ListView
int wantedPosition = 10; // Whatever position you're looking for
int firstPosition = listView.getFirstVisiblePosition() - listView.getHeaderViewsCount(); // This is the same as child #0
int wantedChild = wantedPosition - firstPosition;
// Say, first visible position is 8, you want position 10, wantedChild will now be 2
// So that means your view is child #2 in the ViewGroup:
if (wantedChild < 0 || wantedChild >= listView.getChildCount()) {
Log.w(TAG, "Unable to get view for desired position, because it's not being displayed on screen.");
return;
}
View wantedView = listView.getChildAt(wantedChild);
, если я ищу с findViewById
внутри wantedView
, я не нахожу ImageView
, что я ищу. Как я могу ссылаться на этот ImageView, чтобы установить другой ресурс?
Какой адаптер вы используете для этого ListView? Это не то, как вы взаимодействуете с представлениями внутри элемента списка. –
Пользовательский ArrayAdapter, но там я нахожусь в Activity. Я не хочу получать доступ к элементу строки внутри адаптера. – fustalol