해결할 수없는 이상한 문제에 직면하고 있습니다. 이 느리다 그러나바깥 쪽 adapter.getview의 IllegalStateException
for (int i = 0; i < adapterCount; i++) {
View listItem = mListAdapter.getView(i, null, mListView);
listItem.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
height += listItem.getMeasuredHeight();
}
:
나는 그 올바르게의 일을하고 다음 루프를 가지고있다. 성능 향상을 위해, 그리고 모든 listItem이 같은 크기를 가지기 때문에 처음 두 줄을 루프 바깥에 놓기를 원합니다. 이것은 내가 시도하는 방법입니다
이java.lang.IllegalStateException: couldn't move cursor to position 0
이
사람이 그 이유 어떤 생각을 가지고 있습니까 :
View listItem = mListAdapter.getView(0, null, mListView);
listItem.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
for (int i = 0; i < adapterCount; i++) {
height += listItem.getMeasuredHeight();
}
그러나이 첫 번째 줄에 나에게 예외를 제공?
감사합니다.
adapterCount == 0. 그렇습니다. – greenapps
항목의 높이가 모두 같은 경우 루프가 필요 없습니다. 최종 높이는'adapterCount'와'height'입니다. – Blackbelt
답장을 보내 주셔서 감사합니다. 내 생각은 높이를 한 번 계산 한 다음 adapterCount로 곱하는 것입니다. 그러나 내가하는 일은 신비하게도 예외를줍니다. –