Java Android sort listview与Comparator不工作

Java Android sort listview与Comparator不工作,java,android,listview,comparator,Java,Android,Listview,Comparator,我的onCreate方法中有此代码,用于创建自定义列表视图: adapter = new CustomAdapter(CustomListView, mAllListModel, res); mFtpDao.open(); final Tupel<String, Boolean> lSort = mFtpDao.loadSort(mCurrentPath); mFtpDao.close(); adapter.sort(new FtpContentComparator(lSort));

我的
onCreate
方法中有此代码,用于创建自定义
列表视图

adapter = new CustomAdapter(CustomListView, mAllListModel, res);
mFtpDao.open();
final Tupel<String, Boolean> lSort = mFtpDao.loadSort(mCurrentPath);
mFtpDao.close();
adapter.sort(new FtpContentComparator(lSort));

list.setAdapter(adapter);
adapter.notifyDataSetChanged();
比较国:

package de.bc.coreftp.comparator;

import java.util.Comparator;

import de.bc.coreftp.list.ListModel;
import de.beike.consulting.core.ftp.business.Tupel;

public class FtpContentComparator implements Comparator<ListModel> {

    private Tupel<String, Boolean> mSortCriteria;

    public FtpContentComparator(Tupel<String, Boolean> pSortCriteria) {
        mSortCriteria = pSortCriteria;
    }

    @Override
    public int compare(ListModel arg0, ListModel arg1) {
        String lSortAfter = " Name ";
        if (null != mSortCriteria){
            lSortAfter = mSortCriteria.get1st();
        }

        if (" Name ".equals(lSortAfter)){
            return arg0.getFtpContent().getName().compareTo(arg1.getFtpContent().getName());
        }
        return 0;
    }

}
package de.bc.coreftp.comparator;
导入java.util.Comparator;
导入de.bc.coreftp.list.ListModel;
导入de.beike.consulting.core.ftp.business.Tupel;
公共类FtpContentComparator实现Comparator{
私有元组标准;
公共FtpContentComparator(Tupel pSortCriteria){
mSortCriteria=pSortCriteria;
}
@凌驾
公共整数比较(ListModel arg0、ListModel arg1){
字符串lSortAfter=“Name”;
if(null!=mSortCriteria){
lSortAfter=mSortCriteria.get1st();
}
如果(“名称”。等于(lSortAfter)){
返回arg0.getFtpContent().getName().compareTo(arg1.getFtpContent().getName());
}
返回0;
}
}
现在我不知道怎么了,你看到我的错误了吗

致意


Stefan

根据您发布的代码,一切看起来都是正确的。对您提供的数据集进行排序。如果因为数据集为空或未将其提供给超级构造函数而未调用比较,例如

public class CustomAdapter extends ArrayAdapter<ListModel> implements
    OnClickListener {

   public CustomAdapter(Context context, List<ListModel> dataset) {
       super(context, R.id.list, dataset);
   }
公共类CustomAdapter扩展ArrayAdapter实现
onclick侦听器{
公共CustomAdapter(上下文、列表数据集){
super(上下文、R.id.list、数据集);
}

您使用的是ArrayAdapter吗?是的。我的CustomAdapter从ArrayAdapter扩展而来。您能否发布
FtpContentComparator
?查看我编辑过的问题。我的比较内断点从未被调用。您是否向ArrayAdapter的超级构造函数提供数据集?
public class CustomAdapter extends ArrayAdapter<ListModel> implements
    OnClickListener {

   public CustomAdapter(Context context, List<ListModel> dataset) {
       super(context, R.id.list, dataset);
   }