私はリストビューを持っていますので、名前で昇順に並べ替えたいです。どのように私はそれをプログラムで行うことができますか?リストビューを名前で昇順にソート
はここにここに私のコード
public class InformationActivity extends AppCompatActivity {
private ArrayList<Actors> actorsList;
private ActorAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_information);
final ListView listview = (ListView)findViewById(R.id.list);
adapter = new ActorAdapter(getApplicationContext(), R.layout.row, actorsList);
listview.setAdapter(adapter);
}
}
だActorAdapter
public class ActorAdapter extends ArrayAdapter<Actors> {
private ArrayList<Actors> actorList;
private LayoutInflater vi;
private int Resource;
private ViewHolder holder;
public ActorAdapter(Context context, int resource, ArrayList<Actors> objects) {
super(context, resource, objects);
vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Resource = resource;
actorList = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.imageview = (ImageView) v.findViewById(R.id.imgIcon);
holder.tvName = (TextView) v.findViewById(R.id.nama);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.tvName.setText(actorList.get(position).getName());
Picasso.with(this.getContext()).load(actorList.get(position).getImage()).placeholder(R.layout.progress).resize(110,110).error(R.mipmap.error).into(holder.imageview);
return v;
}
static class ViewHolder {
public ImageView imageview;
public TextView tvName;
}
}
は、私がアンドロイドで初心者だだし、任意のヘルプは大歓迎されます。
ありがとうございます。あなたがsetAdapter
方法の前に、あなたのリストを並べ替える必要があります
final ListView listview = (ListView)findViewById(R.id.list);
Collections.sort(actorsList, new Comparator<Actors>() {
/* This comparator will sort objects alphabetically. */
@Override
public int compare(Actors a1, Actors a2) {
// String implements Comparable
return (a1.name.toString()).compareTo(a2.name.toString());
}
});
adapter = new ActorAdapter(getApplicationContext(), R.layout.row, actorsList);
listview.setAdapter(adapter);
:あなたはこのようないくつかの操作を行うことができ
私のために働いていません:( –
あなたの答えを更新できますか?どのように表示するのですか? –
'listview.setAdapter(adapter);の前にあなたのコードを追加しました –