ListView作为Android最常用但是却最难用的控件之一,有很多神奇的用法.我之前也有写过一个例子,稍微不那么简单了一点.
[Android原生item的伸缩效果]:http://www.cnblogs.com/stareblankly/p/4958062.html

  • 简单的ListView的应用.
private Integer[] data={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);ArrayAdapter<Integer> adapter=new ArrayAdapter<Integer>(MainActivity.this, android.R.layout.simple_list_item_1,data);((ListView)findViewById(R.id.lv)).setAdapter(adapter);}
  • 定制ListView界面
    1.我们新建一个furit_item.xml作为我们自定义listview的item.

<?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="vertical" ><ImageViewandroid:id="@+id/furit_image"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/fruit_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginLeft="10dp" /></LinearLayout>

2.然后我们新建一个Furit.class作为数据适配的实体类.

public class Fruit {private String name;private int imageId;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getImageId() {return imageId;}public void setImageId(int imageId) {this.imageId = imageId;}public Fruit(String name, int imageId) {super();this.name = name;this.imageId = imageId;}
}

3.新建一个FruitAdapter.class适配器用来适配listview.

public class FruitAdapter extends ArrayAdapter<Fruit>{private int resourceid;public FruitAdapter(Context context, int textViewResourceId,List<Fruit> objects) {super(context,textViewResourceId, objects);resourceid=textViewResourceId;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Fruit fruit=getItem(position);View view=LayoutInflater.from(getContext()).inflate(resourceid, null);TextView tv=(TextView) view.findViewById(R.id.fruit_name);ImageView iv=(ImageView) view.findViewById(R.id.furit_image);iv.setImageResource(fruit.getImageId());tv.setText(fruit.getName());return view;}
}

4.然后初始化我们要显示的数据.

private List<Fruit> fruitList=new ArrayList<Fruit>();Fruit fruit=new Fruit("1", R.drawable.ic_launcher);
fruitList.add(fruit);
fruit=new Fruit("2", R.drawable.ic_launcher);
fruitList.add(fruit);
fruit=new Fruit("3", R.drawable.ic_launcher);
fruitList.add(fruit);
......

5.最后就只剩下使用了.

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();FruitAdapter adapter=new FruitAdapter(this, R.layout.fruit_item, fruitList);((ListView)findViewById(R.id.lv)).setAdapter(adapter);}
  • ListView的item的点击事件
((ListView)findViewById(R.id.lv)).setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Fruit fruit=fruitList.get(position);Toast.makeText(MainActivity.this, fruit.getName(), Toast.LENGTH_SHORT).show();}});

转载于:https://www.cnblogs.com/stareblankly/p/5057340.html

Android listview 的应用相关推荐

  1. android ListView包含Checkbox滑动时状态改变

    题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...

  2. Android ListView 自定义背景后 滚动时的背景变黑问题

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧 ...

  3. Android listview viewholder

    2019独角兽企业重金招聘Python工程师标准>>> Android ListView ViewHolder 利用adapter中的getView的 contentView 的复用 ...

  4. Android ListView常用用法

    ListView是比较常用的控件,但一直都觉得创建ListView步骤有点繁琐,故在此总结一下,方便查阅. 程序效果是实现一个ListView,ListView里面有标题,内容和图片,并加入点击和长按 ...

  5. 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d... 作者:黄宁源 一,背景 RecyclerView是谷歌官方出的一 ...

  6. Android ListView异步加载图片乱序问题,原因分析及解决方案

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android所有系统自带的控件当中,ListView这个控件算是 ...

  7. Android ListView 圆角

    android ListView实现圆角实例教程二 Android框架浅析之锁屏(Keyguard)机制原理 http://www.eoeandroid.com/thread-181604-1-1.h ...

  8. Android listView 去掉header和footer中的分割线

    Android listView 去掉header和footer中的分割线 方法一: 在listView中加上android:headerDividersEnabled="false&quo ...

  9. android ListView布局之二(是用simpleAdapter绑定数据)

    main.xml主布局文件,代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  10. android listview 列加id,Android实战开发之ListView同一个item显示2列的实现方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用List ...

最新文章

  1. 技术总监的反思录:我是如何失去团队掌控的?
  2. SCOM发送邮件通知
  3. FLEX 运行 空白
  4. track文件 什么是git_git常用命令
  5. 【HDU 1711】Number Sequence(裸KMP算法)
  6. JavaWeb学习总结(二):Tomcat服务器学习和使用(一)
  7. 吴玉禄他的机器人_中国人— 我们村的机器人
  8. 后台扫描工具 - 御剑(珍藏版)附下载
  9. 菁搜FTP搜索引擎 photo2
  10. CxImage功能强大的图形处理程序
  11. 腾讯云短信服务报错FailedOperation.TemplateIncorrectOrUnapproved
  12. c语言int作用,C语言中的int max(int x,int y) 究竟有何作用?
  13. 怎样检测和应对数据集的Outliers
  14. Qt设置按钮背景图片
  15. 美摄科技推出桌面端专业视频编辑解决方案——美映PC版
  16. USB 协议 (三) 基础知识
  17. 纯C语言日志类库 Zlog
  18. JavaScript入门小试,水仙花数的辨别以及再深入学习一些定义区间。
  19. JAVA实现把PPT转PDF的方法
  20. 在win10下安装eclipse

热门文章

  1. 关于gradle加快构建速度采用阿里云中央仓库的配置
  2. 性能测试、负载测试、压力测试的区别
  3. Builder设计模式
  4. SwfUpload及imgareaselect使用方法
  5. 超想做一个网络游戏!有兴趣的人进来讨论讨论!
  6. java 集合差运算_用一个参数的JAVA程序实现集合的交并差运算
  7. asp.net使用for循环实现Datalist的分列显示功能
  8. Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下)
  9. Android开发学习笔记:Gallery和GridView浅析
  10. golang常用命令