java 自动排序listview_java – 使用自定义适配器按产品名称对ListView进行排序?

我想按产品名称对ListView的项目进行排序.我有一个名为“data”的向量,它是一种类.

我上课的是:

public static class RowData implements Comparable{

public String mProductName;

protected int mId;

protected int mOnHand;

protected double mPrice;

protected boolean mIsColleaction;

protected boolean mIsPrePack;

RowData(int id ,String productName,int onhand,double price,boolean IsColleaction, boolean IsPrePack) {

mId= id;

mProductName= productName;

mOnHand =onhand;

mPrice = price;

mIsColleaction =IsColleaction;

mIsPrePack = IsPrePack;

}

@Override

public String toString() {

return mProductName;

}

public int compareTo(RowData other) {

return mProductName.compareTo(other.mProductName);

}

public static Comparator COMPARE_BY_PRODUCTNAME = new Comparator() {

public int compare(RowData one, RowData other) {

return one.mProductName.compareTo(other.mProductName);

}

};

}

我已经采用了一个自定义适配器,它扩展了ArrayAdapter< RowData>.

我在onCreate()中编写的排序代码如下,

Collections.sort(data, RowData.COMPARE_BY_PRODUCTNAME);

adapter = new CustomAdapter(this, R.layout.list,R.id.title, data);

setListAdapter(adapter);

adapter.notifyDataSetChanged();

我必须使用自定义适配器,因为它显示产品的价格以及产品的数量

数据是RowData类型的向量我在调试之后按照我想要的产品名称的排序顺序得到但是当绑定到ListView时它没有按排序顺序显示.

我是新来的android请帮帮我.

感谢Alex Lockwood,我正在使用ArrayAdaptor类型的定制适配器< Class>.

在我的onCreate()方法中,我正在实现如下所示的排序方法,

adapter = new CustomAdapter(this, R.layout.list,R.id.title, data);

adapter.sort(new Comparator() {

public int compare(RowData arg0, RowData arg1) {

return arg0.mProductName.compareTo(arg1.mProductName);

}

});

setListAdapter(adapter);

在我的customAdaptor类中,我必须覆盖这样的排序,

public void sort(Comparator super RowData> comparator) {

// TODO Auto-generated method stub

super.sort(comparator);

}

如果您可以修改上述代码或建议您使用我的代码,请帮助我.

提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值