【发布时间】:2016-03-08 11:38:30
【问题描述】:
我有一个ListView。每个Item 得到3 个TextViews。对于某些id 中的TextView,如何按字母顺序对Items 进行排序?
我的Adapter代码如下:
public class CustomList extends ArrayAdapter<String>{
private final Activity context;
private final String[] textName;
private final String[] imagePath;
private final String[] textAge;
private final String[] textSex;
public CustomList(Activity context,
String[] imagePath, String[] textName, String[] textSex, String[] textAge) {
super(context, R.layout.listview_row, textName);
this.context = context;
this.textName = textName;
this.imagePath = imagePath;
this.textAge = textAge;
this.textSex = textSex;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.listview_row_mix, null, false);
TextView txtTitle = (TextView) rowView.findViewById(R.id.NameText);
TextView txtSex = (TextView) rowView.findViewById(R.id.SexText);
TextView txtAge = (TextView) rowView.findViewById(R.id.AgeText);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
txtTitle.setText(textName[position]);
txtSex.setText(textSex[position]);
txtAge.setText(textAge[position]);
String root = Environment.getExternalStorageDirectory().toString();
File imageFile = new File(root + "/WorkImages/" + imagePath[position]);
Log.i("Debug", imageFile.toString());
if(imageFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
imageView.setImageBitmap(myBitmap);
Log.i("Debug", imageFile.toString());
}else{
imageView.setImageResource(R.drawable.profile_icon);}
return rowView;
}
}
我认为应该在adapter 代码中进行排序。我查看了类似的问题,但他们使用 1 TextView Items,这意味着他们可以简单地比较和排序 String[] 中的值。如果我在这里做类似的事情,我只会把列表弄乱,因为名称和信息不会对应。
【问题讨论】:
-
Arrays.sort(string_arr);
标签: java android sorting listview