Android ListView中带有时间数据的排序
来源:互联网 发布:微信怎么在淘宝买东西 编辑:程序博客网 时间:2024/04/30 04:24
下面是activity:
public class MainActivity extends Activity {private ListView mListView = null;private List<TestDate> mList = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mListView = (ListView) this.findViewById(R.id.main_listView);mList = new ArrayList<TestDate>();initData();Collections.sort(mList, new Comparator<TestDate>() {/** * * @param lhs * @param rhs * @return an integer < 0 if lhs is less than rhs, 0 if they are * equal, and > 0 if lhs is greater than rhs,比较数据大小时,这里比的是时间 */@Overridepublic int compare(TestDate lhs, TestDate rhs) {Date date1 = DateUtil.stringToDate(lhs.getDate());Date date2 = DateUtil.stringToDate(rhs.getDate());// 对日期字段进行升序,如果欲降序可采用after方法if (date1.before(date2)) {return 1;}return -1;}});mListView.setAdapter(new MyAdapter(this, mList));}private void initData() {mList.add(new TestDate("2012-12-12 12:30", "zhangsan"));mList.add(new TestDate("2012-12-12 10:20", "lisi"));mList.add(new TestDate("2012-12-11 10:21", "lisi"));mList.add(new TestDate("2012-12-11 10:20", "lisi"));mList.add(new TestDate("2012-12-13 01:03", "wangwu"));mList.add(new TestDate("2012-12-10 02:04", "zhaoliu"));mList.add(new TestDate("2012-12-15 23:00", "tianqi"));mList.add(new TestDate("2012-11-12 22:30", "wangwu"));mList.add(new TestDate("2012-12-17 08:24", "shimei"));mList.add(new TestDate("2012-11-10 11:10", "shisanmei"));mList.add(new TestDate("2012-12-18 16:50", "wangan"));mList.add(new TestDate("2012-12-19 18:00", "wangjiu"));mList.add(new TestDate("2012-12-20 19:30", "wusi"));mList.add(new TestDate("2012-12-20 19:30", "wusi"));}}
下面是工具类:
public class DateUtil {public static Date stringToDate(String dateString) {ParsePosition position = new ParsePosition(0);SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");Date dateValue = simpleDateFormat.parse(dateString, position);return dateValue;}}
下面是ListView用的Adapter:
public class MyAdapter extends BaseAdapter {private Context mContext;private List<TestDate> mList;public MyAdapter(Context context, List<TestDate> list) {this.mContext = context;this.mList = list;}@Overridepublic int getCount() {return mList != null ? mList.size() : 0;}@Overridepublic Object getItem(int position) {return mList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {convertView = (LinearLayout) LayoutInflater.from(mContext).inflate(R.layout.main_item, null);holder = new ViewHolder();holder.textView1 = (TextView) convertView.findViewById(R.id.item_textView1);holder.textVeiw2 = (TextView) convertView.findViewById(R.id.item_textView2);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.textView1.setText(mList.get(position).getDate());holder.textVeiw2.setText(mList.get(position).getName());return convertView;}private class ViewHolder {private TextView textView1;private TextView textVeiw2;}}
下面是xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/main_listView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" tools:context=".MainActivity" /></RelativeLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/item_textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margin="10dp" /> <TextView android:id="@+id/item_textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /></LinearLayout>
下面是一个JavaBean的类:
public class TestDate {private String date;private String name;public String getDate() {return date;}public String getName() {return name;}public TestDate(String date, String name) {this.date = date;this.name = name;}}
- Android ListView中带有时间数据的排序
- android fragment中带有listview,自定义item
- android 带有图标的ListView 并带有长按菜单
- Android实现带有listview的PopupWindow
- 如何装载带有时间戳的数据
- 77ListView中item带有CheckBox复用缓存的问题(重点)(数据错乱)
- Android中对ListView、RecycleView里面的数据进行排序方法总结
- Android中ListView条目带有左滑显示删除按钮的总结
- 如何将excel中的带有时间的数据导入到matlab中
- 带有ListView的Dialog
- Android中Listview(七)--排序ListView
- ListView的数据排序示例
- Android 下实现带有图标和Checkbox的 ListView Item
- android开发------案例四(带有控件的ListView)
- 【转】Android 下实现带有图标的 ListView Item
- listview按item的时间排序
- Android里针对ListView中选项进行排序的方法
- 带有本地数据排序和筛选的RecyclerView Adapter
- 第40章、指针AnlogClock与数字DigitalClock时钟(从零开始学Android)
- VC 文件操作
- uboot引导内核错误——booting the kernel.
- 动画
- JS 导出网页中Table内容到excel
- Android ListView中带有时间数据的排序
- 程序员的学习和积累
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等
- mbstowcs
- 第41章、定时器Chronometer(从零开始学Android)
- GateMP_Params Struct Reference
- 第42章、标签组件Tabhost(从零开始学Android)
- wcstombs
- HeapBufMP_ExtendedStats Struct Reference