사용자가 숫자를 입력하는 EditText가 있습니다. 상자는 Button 도움말을 사용하여 ListView에 데이터를 보냅니다. ListView에서 데이터를 재정렬하여 숫자를 가장 작은 것부터 가장 큰 것 순으로 정렬하고 싶습니다.ListView에서 데이터를 다시 정렬하려면 어떻게합니까?
어떻게하면됩니까?
사용자가 숫자를 입력하는 EditText가 있습니다. 상자는 Button 도움말을 사용하여 ListView에 데이터를 보냅니다. ListView에서 데이터를 재정렬하여 숫자를 가장 작은 것부터 가장 큰 것 순으로 정렬하고 싶습니다.ListView에서 데이터를 다시 정렬하려면 어떻게합니까?
어떻게하면됩니까?
목록보기 어댑터에 전달하기 전에 데이터를 정렬하십시오.
향후 질문이 있으시면 문제를 해결하려고 시도한 코드를 붙여 넣으십시오.
Arraylist
개의 정수 또는 문자열이 있다고 가정합니다.
Collections.sort(list)
을 입력 한 다음 adapter.notifyDatasetChanged()
을 입력하면 ListView에 "다시 그리기"를 알릴 수 있습니다.
목록에 정수가 들어 있으면 목록에 문자열이 포함 된 경우 "최소값에서 최대 값"까지 정렬되고 "사전 식"또는 사전 순으로 정렬됩니다.
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();
이 방법을 업데이트 어댑터를 말한다.