2013-01-05 1 views
0

사용자 정의 ArrayAdapter을 가진 listview (ListFragment)의 모든 기능을 가지고 있습니다. 어댑터 레이아웃은 imageview, button, gridviewtextviews으로 구성됩니다.
스크롤하는 동안 목록보기가 매우 불안정합니다. 나는 ViewHolder 패턴을 구현했으며 약간의 성능 향상을 보였습니다.
GridViewAsyncTask에서 검색하는 연락처 이미지와 응용 프로그램 캐시를 사용하여 비트 맵을 표시합니다. 그 밖의 무엇을 할 수 있습니까? listview 스크롤이 부드럽게 이루어 지나요?ListView 스크롤링 부드러움

public View getView(int position, View convertView, ViewGroup parent) { 
    View myView; 
    holder = new ViewHolder(); 
    if (convertView == null) { 
     inflater = (LayoutInflater) getContext().getSystemService(
            Context.LAYOUT_INFLATER_SERVICE); 
     myView = inflater.inflate(R.layout.events_list_activity, parent, false); 
    } 
    else { 
     myView = convertView; 
    } 
} 
+0

'ListView '의 각 항목에 사용 된'보기'를 올바르게 재활용 했습니까? –

+0

내 getView 메소드를 추가했습니다 – SKen

+0

'ListView'의 모든 단일 행에'GridView'가 있습니까? 그렇다면, 다음에 내 생각에 스크롤링의 터치 동작이 'GridView'자식에게 위임되어 그 자식이 지저분 해집니다. 모든'GridView'에 대해 터치 액션을 해제하고 도움이되는지 확인한 다음 모든 GridView를 제거하고 문제가 사라 졌는지 확인하십시오. 많은 코드가 없으면 우리가 할 수있는 일은 추측을하는 것입니다.) –

답변

1

This 질문 목록보기의 과민 동작에 대한 설명이있을 수 있습니다 어댑터의 내 getView 방법에 아래 그림과 같이
내가보기 재활용을 사용했다.

당신은 스크롤 속도를 개선하기 위해 찾고 있다면, 이것을 시도,

getListView().setFastScrollEnabled(true); 
+0

아니요. 이미 모든 것을 처리 했으므로 도움이되지 않습니다. 내 어댑터에서 무거운 작업을 실행하지 않아도됩니다. 또한'setFastScrollEnabled'는 스크롤하는 동안 listView가 여전히 지저분 할 것입니다. – SKen

-1

그것은 당신에게 당신의 레이아웃의 상단에서 스크롤을 제공하고 또한 당신에게 부드러운 스크롤 경험을 제공합니다.

mainScrollView=(ScrollView)findViewById(R.id.scrollview); 
mainScrollView.smoothScrollTo(0, 0); 
mainScrollView.fullScroll(mainScrollView.FOCUS_UP); 
+0

이것은 어떻게 관련이 있습니까 ?? – SKen

+0

오른쪽으로 부드럽게 스크롤하도록 요청 했습니까? – GaneshKumar

+1

네, 문제는'listview'에 관한 것이고,'scrollview'는 어떤 차이를 만들까요? – SKen

0

1.Flatten 당신의 ViewItem 계층 구조 & 사용 병합 태그

2.Implement ViewHolder 패턴, 또는 다른 스레드에서 heavyload 3.Do

androidannotation

의 기능을 주입 사용합니다.