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>
时间: 2024-10-11 22:38:16