2013-07-26 5 views
0

ListView에 대한 사용자 지정 어댑터를 사용하고 있고 많은 양의 데이터가 목록에 표시되어 있다고 가정하고 홀더 패턴이 있지만 getView 메서드에서 데이터를 검색하는 데 holder.textview.setText(getItem(position))을 사용하고 있습니다. 많은 양의 데이터에 getItem을 사용하는 것이 좋습니까? 아니면 직접 코드 holder.textview.setText(citiesList.get(position).getName())을 사용하는 것이 더 좋습니까?getView에서 데이터를 검색하는 가장 좋은 방법은 무엇입니까?

내 준 getItem 방법은 다음과 같습니다

@Override 
public String getItem(int position) { 
    return citiesList.get(position).getName(); 
} 

답변

1

당신은 한번도 각 홀더 항목에 대해,의 getItem를 사용하는 최선이야뿐만 아니라 단 한 번 그 일을. getItem 평균의 당신이 기가되는 콜렉션의 구현을 변경하고이 경우 적은 코드를 변경할 수 있습니다 사용

YourObject obj = getItem(position); 
holder.textview.setText(obj.getName()); 
holder.textview2.setText(obj.getSomethingElse()); 

. 즉, ArrayList를 사용하여 커서가 바뀌는 것을 스와핑합니다. 다소 덜 분명한 방법 인 getView을 사용하는 것보다는 한 곳 (getItem 내부)에서만 변경해야합니다.

관련 문제