Androidlistview_android listview的用法

Androidlistview_android listview的用法下面是activity:[java] viewplaincopypublic class MainActivity extends Activity {        private ListView mListView = null;      private List mList = null;        @Overri

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

下面是activity:

[java] 
view plain
copy

  1. public class MainActivity extends Activity {  
  2.   
  3.     private ListView mListView = null;  
  4.     private List<TestDate> mList = null;  
  5.   
  6.     @Override  
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.activity_main);  
  10.         mListView = (ListView) this.findViewById(R.id.main_listView);  
  11.         mList = new ArrayList<TestDate>();  
  12.         initData();  
  13.         Collections.sort(mList, new Comparator<TestDate>() {  
  14.             /** 
  15.              *  
  16.              * @param lhs 
  17.              * @param rhs 
  18.              * @return an integer < 0 if lhs is less than rhs, 0 if they are 
  19.              *         equal, and > 0 if lhs is greater than rhs,比较数据大小时,这里比的是时间 
  20.              */  
  21.             @Override  
  22.             public int compare(TestDate lhs, TestDate rhs) {  
  23.                 Date date1 = DateUtil.stringToDate(lhs.getDate());  
  24.                 Date date2 = DateUtil.stringToDate(rhs.getDate());  
  25.                 // 对日期字段进行升序,如果欲降序可采用after方法  
  26.                 if (date1.before(date2)) {  
  27.                     return 1;  
  28.                 }  
  29.                 return –1;  
  30.             }  
  31.         });  
  32.         mListView.setAdapter(new MyAdapter(this, mList));  
  33.     }  
  34.   
  35.     private void initData() {  
  36.         mList.add(new TestDate(“2012-12-12 12:30”“zhangsan”));  
  37.         mList.add(new TestDate(“2012-12-12 10:20”“lisi”));  
  38.         mList.add(new TestDate(“2012-12-11 10:21”“lisi”));  
  39.         mList.add(new TestDate(“2012-12-11 10:20”“lisi”));  
  40.         mList.add(new TestDate(“2012-12-13 01:03”“wangwu”));  
  41.         mList.add(new TestDate(“2012-12-10 02:04”“zhaoliu”));  
  42.         mList.add(new TestDate(“2012-12-15 23:00”“tianqi”));  
  43.         mList.add(new TestDate(“2012-11-12 22:30”“wangwu”));  
  44.         mList.add(new TestDate(“2012-12-17 08:24”“shimei”));  
  45.         mList.add(new TestDate(“2012-11-10 11:10”“shisanmei”));  
  46.         mList.add(new TestDate(“2012-12-18 16:50”“wangan”));  
  47.         mList.add(new TestDate(“2012-12-19 18:00”“wangjiu”));  
  48.         mList.add(new TestDate(“2012-12-20 19:30”“wusi”));  
  49.         mList.add(new TestDate(“2012-12-20 19:30”“wusi”));  
  50.     }  
  51. }  

下面是工具类:

[java] 
view plain
copy

  1. public class DateUtil {  
  2.   
  3.     public static Date stringToDate(String dateString) {  
  4.         ParsePosition position = new ParsePosition(0);  
  5.         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm”);  
  6.         Date dateValue = simpleDateFormat.parse(dateString, position);  
  7.         return dateValue;  
  8.     }  
  9.   
  10. }  

下面是ListView用的Adapter:

[java] 
view plain
copy

  1. public class MyAdapter extends BaseAdapter {  
  2.   
  3.     private Context mContext;  
  4.     private List<TestDate> mList;  
  5.   
  6.     public MyAdapter(Context context, List<TestDate> list) {  
  7.         this.mContext = context;  
  8.         this.mList = list;  
  9.     }  
  10.   
  11.     @Override  
  12.     public int getCount() {  
  13.         return mList != null ? mList.size() : 0;  
  14.     }  
  15.   
  16.     @Override  
  17.     public Object getItem(int position) {  
  18.         return mList.get(position);  
  19.     }  
  20.   
  21.     @Override  
  22.     public long getItemId(int position) {  
  23.         return position;  
  24.     }  
  25.   
  26.     @Override  
  27.     public View getView(int position, View convertView, ViewGroup parent) {  
  28.         ViewHolder holder = null;  
  29.         if (convertView == null) {  
  30.             convertView = (LinearLayout) LayoutInflater.from(mContext).inflate(  
  31.                     R.layout.main_item, null);  
  32.             holder = new ViewHolder();  
  33.             holder.textView1 = (TextView) convertView  
  34.                     .findViewById(R.id.item_textView1);  
  35.             holder.textVeiw2 = (TextView) convertView  
  36.                     .findViewById(R.id.item_textView2);  
  37.             convertView.setTag(holder);  
  38.         } else {  
  39.             holder = (ViewHolder) convertView.getTag();  
  40.         }  
  41.   
  42.         holder.textView1.setText(mList.get(position).getDate());  
  43.         holder.textVeiw2.setText(mList.get(position).getName());  
  44.   
  45.         return convertView;  
  46.     }  
  47.   
  48.     private class ViewHolder {  
  49.         private TextView textView1;  
  50.         private TextView textVeiw2;  
  51.     }  
  52.   
  53. }  

下面是xml文件:

[html] 
view plain
copy

  1. <RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”  
  2.     xmlns:tools=“http://schemas.android.com/tools”  
  3.     android:layout_width=“match_parent”  
  4.     android:layout_height=“match_parent” >  
  5.   
  6.     <ListView  
  7.         android:id=“@+id/main_listView”  
  8.         android:layout_width=“match_parent”  
  9.         android:layout_height=“match_parent”  
  10.         android:layout_centerHorizontal=“true”  
  11.         android:layout_centerVertical=“true”  
  12.         tools:context=“.MainActivity” />  
  13.   
  14. </RelativeLayout>  

 

[html] 
view plain
copy

  1. <?xml version=“1.0” encoding=“utf-8”?>  
  2. <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”  
  3.     android:layout_width=“match_parent”  
  4.     android:layout_height=“match_parent”  
  5.     android:orientation=“horizontal” >  
  6.   
  7.     <TextView  
  8.         android:id=“@+id/item_textView1”  
  9.         android:layout_width=“wrap_content”  
  10.         android:layout_height=“wrap_content”  
  11.         android:layout_gravity=“center_vertical”  
  12.         android:layout_margin=“10dp” />  
  13.   
  14.     <TextView  
  15.         android:id=“@+id/item_textView2”  
  16.         android:layout_width=“wrap_content”  
  17.         android:layout_height=“wrap_content”  
  18.         android:layout_gravity=“center_vertical” />  
  19.   
  20. </LinearLayout>  

下面是一个JavaBean的类:

[java] 
view plain
copy

  1. public class TestDate {  
  2.       
  3.     private String date;  
  4.     private String name;  
  5.   
  6.     public String getDate() {  
  7.         return date;  
  8.     }  
  9.   
  10.     public String getName() {  
  11.         return name;  
  12.     }  
  13.   
  14.     public TestDate(String date, String name) {  
  15.         this.date = date;  
  16.         this.name = name;  
  17.     }  
  18.   
  19. }  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186362.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 软件测试中根据测试用例设计的方法,测试用例设计方法有哪些?举例说明[通俗易懂]

    软件测试中根据测试用例设计的方法,测试用例设计方法有哪些?举例说明[通俗易懂]众所周知,测试用例是编制的一组测试输入、执行条件及预期结果,专门为的是某个特殊目标,即测试某个程序路径,或是核实是否满足某个特定的需求。一般来讲,常用的测试用例设计方法有五种,分别是:正交实验法、边界值分析法、等价类划分法、判定表法、错误推测法。当然测试用例的设计方法不止这些,下面只是通过举例说明着重讲讲这常用的五种方法。一、正交实验法用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立…

  • linux安装与卸载命令_ubuntu安装jdk并配置环境变量

    linux安装与卸载命令_ubuntu安装jdk并配置环境变量linux配置java环境变量(详细)linux配置java环境变量(详细)一.解压安装jdk在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录,执行命令./jdk-6u14-linux-i586.bin这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到任…

  • 江西公安网_南昌汽车网

    江西公安网_南昌汽车网程序介绍:江西爱车网——地方汽车门户网站程序采用ASP+ACCESS开发,前台设计美观大方,带有会员中心,会员类型分为:个人、经销商及4S店、二手车商及经纪人、其他经销商等,网站频道设有:买车、卖车、租车、用车、车市、车友、车界,还带有车友论坛及供求信息发布功能。 百度网盘下载http://pan.baidu.com/netdisk/singlepublic?fid=372892_1051

  • socket通讯原理及例程(一看就懂)

    socket通讯原理及例程(一看就懂)对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:什么是TCP/IP、UDP?Socket在哪里呢?Socket是什么呢?你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(TransmissionControlProtocol/InternetProtocol)即传输控制协议/网间协议…

  • listagg oracle10_oracle伪列

    listagg oracle10_oracle伪列oracle函数listagg的使用说明

  • android gridlayout点击事件,Android GridLayout

    android gridlayout点击事件,Android GridLayout译者注:说实话我确实没用过GridLayout好好认识一下吧!android开发者每天都在问自己一个问题:我到底应该用哪个layout然而GridLayout在当前开发中的情况如下:大多数开发者并不知道这个布局一些开发者知道GridLayout但是因为某些原因没有使用只有少部分开发者花时间了解和积极使用这是我为什么要写这篇文章的原因,因为我觉得这个布局被不公平遗忘了为什么我们需要GridLa…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号