安卓基础----ListView基础应用
2016-01-29 21:55
323 查看
listview简单描述
主页面:
主页面的activity
用来填充liseview的item
主页面:
package com.example.listview; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity { private ListView lv; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); adapter = new MyAdapter(); lv.setAdapter(adapter); } private class MyAdapter extends BaseAdapter { /** * listview的条目总数 */ public int getCount() { return 30; } /** * 每个item的内容 */ public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; // 进行convertView条目的复用 if (convertView != null) {// 如果convertView不存在,进行填充 holder = (ViewHolder) convertView.getTag();// 对相同类型的item类型进行复用 } else {// 如果convertView存在,进行复用 convertView = View.inflate(MainActivity.this, R.layout.item_list, null); holder = new ViewHolder(convertView); convertView.setTag(holder); } holder.tv.setText("条目" + position);//设置item里面的具体内容 return convertView; } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } } /** * 每个item里面的控件,抽取成一个类,可以节省时间,优化的一方面 * * @author JYcainiao * */ private class ViewHolder { @ViewInject(R.id.tv_item)//注解出item中的控件 private TextView tv; public ViewHolder(View view) { ViewUtils.inject(this, view);//注解必须用到 this代表当前的item,view用来注解 } } }
主页面的activity
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:fastScrollEnabled="true" android:id="@+id/lv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
用来填充liseview的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" > <TextView android:id="@+id/tv_item" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
相关文章推荐
- 初识HTML
- Sql添加测试数据
- Android 中ViewPager+fragment报异常:IllegalStateException:Can't change tag of fragment的一种解决思路
- Linux防火墙简析
- uva673 Parentheses Balance
- perl weixin webwxinit 接口
- 例题10-1 UVA 11582 Colossal Fibonacci Numbers!巨大的斐波那契数列
- linux源地址转换(一)
- poj 3281 Dining(网络流最大流)
- PHP雪花背景验证码
- linux 信号 signal函数
- EJB中bean的调用
- 调用导出dll中的类成员函数 - error LNK2019: 无法解析的外部符号
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建-
- JavaSE入门学习18:Java面向对象之多态
- Masonry的使用1
- Intent 传值和 Bundle传值的区别
- OpenAL alDistanceModel函数使用详解
- 屏蔽上网时弹窗广告,防止追踪、恶意域名,过滤横幅广告、以及视频广告的方法
- Splinter学习--初探1,模拟百度搜索