1
我有一個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();
}
}
}
}
任何幫助將不勝感激!