나는 listView를 가지고 있으며이를 누를 때 각 항목을 확장하려고합니다. 나는 그렇게하기 위해 다음과 같은 코드를 가지고있다. 나는 ViewStub을 팽창 시켜서 작업한다.목록의 여러보기에 부풀기
잘 작동합니다. 즉, 목록 항목을 누르면 실제로 팽창합니다. 여태까지는 그런대로 잘됐다.
그러나 내 목록이 길어서 목록을 아래로 스크롤하면 다른 항목도 늘어났습니다. 왜 그런지 전혀 모르겠습니다. 그리고 내가 다시 위로 스크롤 할 때 나는 원래 언론에 "수포로 돌아갔다"고 다른 일부 항목은 팽창하게되었습니다.
@override
public void onListItemClick(ListView l, View v, int position, long id) {
ListView list = getListView();
int start = list.getFirstVisiblePosition();
for (int i = start, j = list.getLastVisiblePosition(); i <= j; i++) {
Cursor item = (Cursor) list.getItemAtPosition(i);
if (id == item.getLong(item.getColumnIndex(ItemColumns._ID))) {
View view = list.getChildAt(i - start);
ViewStub stub = (ViewStub) view.findViewById(R.id.stub);
if (stub != null) {
stub.inflate();
}
}
}
}
도움이 될 것입니다!