安卓ListView基础应用
listview简单描述
主页面:
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>
安卓ListView基础应用的更多相关文章
- Unity 使用Plugins接入安卓SDK 基础篇
一.须知 本帖适合对安卓一点基础都没有,有一定Unity基础.刚刚接完一个某文档很简单的渠道SDk,也当是自己总结一下. 二.Unity中的目录创建与理解. Plugins:插件目录,该目录再编译项目 ...
- 安卓Android基础第三天——数据库,ListView
数据库介绍sqlite问:什么情况下使用数据库?答:有大量相似结构的数据需要存储的时候 数据库的创建定义一个类继承SqliteOpenHelpercontext:上下文name:数据库名字,如&quo ...
- 安卓 listview与arrayadapter
今天有感于群里讨论的一个问题,很简单,但是问题还真是需要仔细看一下 问题:定义了一个最简单的arrayadapter,和listview结合使用,灭个item就显示个最简单的textView,一共6个 ...
- 安卓ListView的性能优化
在安卓APP中LIstView这个控件可以说基本上是个APP就会用到,但是关于ListView除了需要了解其最基本的用法外,作为一个要做出高性能APP的程序员还需了解一些关于LIstView控件性能优 ...
- 安卓Listview 不规则项即不同item的运行
在安卓中,listview 的item 是一个不断被轮询调换位置的过程,这样 即 图片参考地址 http://www.cnblogs.com/mybkn/archive/2012/05/23/2 ...
- Android基础控件ListView基础操作
1.简介 基于Android基础控件ListView和自定义BaseAdapter适配器情况下,对ListView的数据删除和添加操作: public boolean add(E e) {//添加数据 ...
- (BUG已修改,最优化)安卓ListView异步加载网络图片与缓存软引用图片,线程池,只加载当前屏之说明
原文:http://blog.csdn.net/java_jh/article/details/20068915 迟点出更新的.这个还有BUG.因为软引应不给力了.2.3之后 前几天的原文有一个线程管 ...
- 安卓ListView操作的两种方法
举例做一个微信的中间部分(好友消息等信息通知) 第一种:BaseAdapter() package com.example.wx; import java.util.ArrayList;import ...
- pyqt listview基础学习01
from decimal import * from PyQt4.QtGui import * from PyQt4.Qt import * from PyQt4.QtCore import * im ...
随机推荐
- CSS:CSS 网络安全字体组合
ylbtech-CSS:CSS 网络安全字体组合 1.返回顶部 1. 常用的字体组合 font-family 属性应该使用若干种字体名称作为回退系统,以确保浏览器/操作系统之间的最大兼容性.如果浏览器 ...
- tabbar 设置样式
app.json配置文件中,使用时需要把注释删除,配置文件不支持备注 tabbar:{ color:'#fff',//字体颜色 需要时HexColor,设置成red 无法识别,下方颜色设置同理 se ...
- A - Mike and Cellphone
While swimming at the beach, Mike has accidentally dropped his cellphone into the water. There was n ...
- Laravel框架之Session操作
//设置session里的值 public function session1(Request $request){ //1.HTTP request session(); /*$request-&g ...
- 保持plsql窗口布局
在window菜单中有个 save layout 项,设置好窗口布局后,选一下此项就保存你当前的窗口布局了,下次启动就不用再设置了.
- ORA-22992:没法使用从远程表选择的LOB定位器
OLB 问题 ORA-22992:没法使用从远程表选择的LOB定位器 Create global temporary table temp on commit preserve rows as sel ...
- 《剑指offer》面试题5—从尾到头打印链表
重要思路: 这个问题肯定要遍历链表,遍历链表的顺序是从头到尾,而要输出的顺序却是从尾到头,典型的“后进先出”,可以用栈实现. 注意stl栈的使用,遍历stack的方法. #include <io ...
- Unity手游之路游戏摇杆之Easy Touch 3教程
之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单.但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材:能指定在某个区域显示,或者只有在该区域触摸时才 ...
- hdu1848(sg函数打表)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:中文题诶- 思路:直接sg函数打表就好了 代码: #include <iostrea ...
- Codevs 1282 约瑟夫问题
1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述 Description 有编号从1到N的N个小朋友在玩一种 ...