Comment faire pour Trier les Éléments ListView par Date

Dans mon application j'ai à vous montrer une vue de liste qui indique la Date et une Chaîne de valeur.Un Modèle de classe est utilisé pour fournir des valeurs de la liste du réseau. Date.La Date de valeur est dérivée à l'aide d'une valeur à partir de la classe de Modèle à la Classe d'Adaptateur.Faire apparaître l'affichage de la liste triée par date dans l'ordre croissant et de mettre en évidence le point de vue qui est le plus proche de la date actuelle.mettre en évidence, dans le sens de changer la couleur d'arrière-plan de point de vue particulier qui est immédiatement supérieur à ou égal à la date actuelle.

BaseAdapter Classe

 private ArrayList<Model> mListItems;
private Activity mActivity;
private LayoutInflater mInflater;
private Integer[] mListIcons;
private Date DateOfBirth;
private int NumberOfMonths;
private ArrayList<Integer> SottList;
List<Date> dateList = new ArrayList<Date>();
public Adapter(Activity mActivity, Date DateOfBirth,ArrayList<VaccinationScheduleModel> mListItems) {
//       super();
this.mActivity = mActivity;
this.mListItems=mListItems;
this.DateOfBirth=DateOfBirth;
mInflater = (LayoutInflater) mActivity.getLayoutInflater();
}
@Override
public int getCount() {
return mListItems.size();
}
@Override
public Object getItem(int position) {
return mListItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_lv_vacc_schedule,
parent, false);
} else {
convertView = convertView;
}
String  atrNumberOfMonths=mListItems.get(position).getmNumberOfMonths();
NumberOfMonths = Integer.parseInt(atrNumberOfMonths);
Calendar cal =  Calendar.getInstance();
cal.setTime(DateOfBirth);
cal.add(Calendar.MONTH, NumberOfMonths);
Date result = cal.getTime();
dateList.add(result);
String dayOfTheWeek = (String) android.text.format.DateFormat.format("EEEE", result);//Thursday
String stringMonth = (String) android.text.format.DateFormat.format("MMM", result); //Jun
String intMonth = (String) android.text.format.DateFormat.format("MM", result); //06
String year = (String) android.text.format.DateFormat.format("yyyy", result); //2013
String day = (String) android.text.format.DateFormat.format("dd", result); //20
System.out.println("19102015:VaccinationScheduleAdapter" + result);
TextView txtVaccTitle = (TextView) convertView.findViewById(R.id.txtVaccTitle);
TextView txtVaccMonth = (TextView) convertView.findViewById(R.id.txtVaccMonth);
TextView txtVaccDay= (TextView) convertView.findViewById(R.id.txtVaccDay);
TextView txtVaccYear = (TextView) convertView.findViewById(R.id.txtVaccYear);
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.imgIcon);
imgIcon.setBackgroundResource(R.drawable.calendar_icon);
txtVaccTitle.setText(mListItems.get(position).getmDescription());
txtVaccMonth.setText(stringMonth);
txtVaccDay.setText(day);
txtVaccYear.setText(year);
Collections.sort(dateList);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return convertView;
}

Quelqu'un peut-il m'aider?Merci d'Avance

  • si vous êtes d'extraire des données de base de données, puis faire une requête pour que
  • Je ne suis pas à l'aide de la base de données
  • qu'utilisez-vous? d'où êtes-vous d'obtenir les dates?
  • Sur le constructeur d'appel, je vais envoyer un Date.By à l'aide de cette date que la base d'autres dates sont dérivées
  • votre dateList me rendre confus. la liste que vous souhaitez trier..mListItem ou dateList
InformationsquelleAutor Noufal M | 2015-10-19