2016-10-10 3 views

답변

1

목록보기 어댑터에 전달하기 전에 데이터를 정렬하십시오.

향후 질문이 있으시면 문제를 해결하려고 시도한 코드를 붙여 넣으십시오.

0

Arraylist 개의 정수 또는 문자열이 있다고 가정합니다.

Collections.sort(list)을 입력 한 다음 adapter.notifyDatasetChanged()을 입력하면 ListView에 "다시 그리기"를 알릴 수 있습니다.

목록에 정수가 들어 있으면 목록에 문자열이 포함 된 경우 "최소값에서 최대 값"까지 정렬되고 "사전 식"또는 사전 순으로 정렬됩니다.

1

ListView도 어댑터로 채웠습니다. 맞습니까? 다음과 같이 작동합니다.

데이터 유형에 대한 comperator를 작성하십시오. int에 대해 사전 작성된 것이 있는지 여부는 알 수 없습니다.

Comparator<MyClass> comparator_date = new Comparator<MyClass>() { 
    @Override 
    public int compare(MyClasslhs, MyClassrhs) { 
     int compare_score; 
     compare_score = lhs.yourCompareFunction(rhs); 
     //replace with a function that compares your type and returns an int 
     return compare_score; 
    } 
}; 

이제 비교기를 사용하여 목록에서 정렬 방법을 호출 할 수 있습니다.

Collections.sort(releasedEpisodeList, comparator_name); 

그리고 당신의 목록보기에 당신이 창조 한 후에 당신의 ListView를 업데이트 할 수 있습니다

Adapter.notifyDataSetChanged(); 

이 방법을 업데이트 어댑터를 말한다.

관련 문제