【发布时间】:2017-07-06 19:12:53
【问题描述】:
我在 sqlite 数据库中有包含小时和分钟的“questTime”列。我想按小时和分钟对我的 Android 应用程序中的 ListView 对象进行排序。
数据库
db.execSQL("create table questions(_id integer primary key autoincrement," +
"stuId integer," +
"lesson text not null," +
"subject text not null," +
"questPhoto blob," +
"answer text not null," +
"questTime text," +
"point integer not null)");
物品类别
public class ItemQuestions {
String strkonu,strpuan,strgonderen,strtime;
Bitmap imgsoru,imguserinquest;
public ItemQuestions(){
}
public ItemQuestions(String strkonu, String strpuan, String strgonderen, String strtime,
Bitmap imgsoru, Bitmap imguserinquest){
this.strkonu=strkonu;
this.strpuan=strpuan;
this.strgonderen=strgonderen;
this.strtime=strtime;
this.imgsoru=imgsoru;
this.imguserinquest=imguserinquest;
}
public String getStrtime() {
return strtime;
}
public void setStrtime(String strtime) {
this.strtime = strtime;
}
public String getStrkonu() {
return strkonu;
}
public void setStrkonu(String strkonu) {
this.strkonu = strkonu;
}
public String getStrpuan() {
return strpuan;
}
public void setStrpuan(String strpuan) {
this.strpuan = strpuan;
}
public String getStrgonderen() {
return strgonderen;
}
public void setStrgonderen(String strgonderen) {
this.strgonderen = strgonderen;
}
public Bitmap getImgsoru() {
return imgsoru;
}
public void setImgsoru(Bitmap imgsoru) {
this.imgsoru = imgsoru;
}
public Bitmap getImguserinquest() {
return imguserinquest;
}
public void setImguserinquest(Bitmap imguserinquest) {
this.imguserinquest = imguserinquest;
}
}
适配器类
public class AdapterQuestions extends ArrayAdapter<ItemQuestions> {
Context context;
ArrayList<ItemQuestions> listarrayforQuest=new ArrayList<ItemQuestions>();
private int resource;
public AdapterQuestions(Context context, int resource, ArrayList<ItemQuestions> listarrayforQuest) {
super(context, resource, listarrayforQuest);
this.context=context;
this.resource=resource;
this.listarrayforQuest=listarrayforQuest;
}
class ViewYerTutucu{
TextView tvholder_strkonu, tvholder_strpuan, tvholder_strgonderen, tvholder_strtime;
ImageView imgholder_seen, imgholder_imgsoru, imgholder_comment;
CircleImageView crcimgholder_imguserinquestions;
ViewYerTutucu(View v){
imgholder_imgsoru= (ImageView) v.findViewById(R.id.imgviewinquestions);
imgholder_seen= (ImageView) v.findViewById(R.id.imgviewseeninquest);
imgholder_comment= (ImageView) v.findViewById(R.id.imgviewcommentinquest);
tvholder_strkonu= (TextView) v.findViewById(R.id.txtkonuinquest);
tvholder_strpuan= (TextView) v.findViewById(R.id.txtpuaninquest);
tvholder_strgonderen= (TextView) v.findViewById(R.id.txtgondereninquest);
tvholder_strtime= (TextView) v.findViewById(R.id.txtquestiondate);
crcimgholder_imguserinquestions= (CircleImageView) v.findViewById(R.id.crcimguserfotoinquest);
}
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View viewquest=convertView;
ViewYerTutucu tutucu=null;
if(viewquest==null){
LayoutInflater inflater= (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
viewquest=inflater.inflate(resource,null);
tutucu=new ViewYerTutucu(viewquest);
viewquest.setTag(tutucu);
}
else {
tutucu= (ViewYerTutucu) viewquest.getTag();
}
ItemQuestions itemQuestions=listarrayforQuest.get(position);
tutucu.tvholder_strkonu.setText(itemQuestions.getStrkonu());
tutucu.tvholder_strpuan.setText(itemQuestions.getStrpuan());
tutucu.tvholder_strgonderen.setText(itemQuestions.getStrgonderen());
tutucu.tvholder_strtime.setText(itemQuestions.getStrtime());
tutucu.imgholder_imgsoru.setImageBitmap(itemQuestions.getImgsoru());
tutucu.crcimgholder_imguserinquestions.setImageBitmap(itemQuestions.getImguserinquest());
return viewquest;
}
}
在 ListView 中查看 enter image description here
搜了很多ListView排序的例子,买我想按照时间(HH:mm)排序。那么,如何保证当前时间最近的对象在ListView的顶部呢?
【问题讨论】: