博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android -- ListView与Adapter
阅读量:4347 次
发布时间:2019-06-07

本文共 2685 字,大约阅读时间需要 8 分钟。

ListView在Android中有着很重要的作用。Android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。

背景                                                                                          

建了个Person类,里面有Name,Number,id,三个属性。

private String name;    private String number;    private int id;

主要用来向listView中添加信息的。

布局                                                                                            

直接放listview上去就OK了。

程序                                                                                           

private ListView lv;

   private List<Person> list;

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        list = new ArrayList
(); lv = (ListView) findViewById(R.id.lv); addPerson(); lv.setAdapter(new MyAdapter()); } private class MyAdapter extends BaseAdapter { @Override public int getCount() { //返回大小 return list.size(); } @Override public Object getItem(int position) { // TODO 自动生成的方法存根 return null; } @Override public long getItemId(int position) { // TODO 自动生成的方法存根 return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv = new TextView(getApplicationContext()); tv.setTextSize(50); tv.setTextColor(Color.BLUE); Person person = list.get(position); tv.setText(person.toString()); System.out.println("返回位置"+position); return tv } } // 添加数据函数 private void addPerson() { for (int i = 0; i < 20; i++) { Person person1 = new Person("张三" + i, "12345678912", i); list.add(person1); } }

要申明一个adapter,adapter里面放数据,然后listview通过setAdapter配置adapter。

----------------------------简单的分割线------------------------------------简单的---------------------------

如果需要自定义lixtview中当样式的话,可以仙剑一个布局item的布局。

item布局                                                                                  

重新写一下adapter里面的getView方法:

getView                                                                                    

@Override        public View getView(int position, View convertView, ViewGroup parent) {            Person person = list.get(position);            View view = View.inflate(MainActivity.this, R.layout.listview_item, null);            //找id            TextView tv_id = (TextView) view.findViewById(R.id.tv_id);            tv_id.setText("id:"+person.getId());            TextView tv_name = (TextView) view.findViewById(R.id.tv_name);            tv_name.setText("tv_name:"+person.getName());            TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);            tv_phone.setText("tv_phone:"+person.getNumber());            return view;        }

我是天王盖地虎的分割线                                                               

源代码:

listview学习.zip

 

 

 

转载请注明出处:

转载于:https://www.cnblogs.com/yydcdut/p/3790828.html

你可能感兴趣的文章
图论知识,博客
查看>>
[原创]一篇无关技术的小日记(仅作暂存)
查看>>
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>
原生和jQuery的ajax用法
查看>>
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>
JQuery 事件
查看>>
main(argc,argv[])
查看>>
第四阶段 15_Linux tomcat安装与配置
查看>>
NAS 创建大文件
查看>>
学习笔记-模块之xml文件处理
查看>>
接口测试用例
查看>>
Sybase IQ导出文件的几种方式
查看>>
MySQL存储过程定时任务
查看>>
Python中and(逻辑与)计算法则
查看>>
POJ 3267 The Cow Lexicon(动态规划)
查看>>
设计原理+设计模式
查看>>
tomcat 7服务器跨域问题解决
查看>>
前台实现ajax 需注意的地方
查看>>
Jenkins安装配置
查看>>