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
用来填充liseview的item