ListView

来源:互联网 发布:域名代理商哪个好 编辑:程序博客网 时间:2024/06/06 02:34

1.Activity类

public class BaseAdapterActivity extends Activity {private ListView listView;private ListAdapter mAdapter;private List<Icon> list = new ArrayList<Icon>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_base_adapter);listView = (ListView) findViewById(R.id.list_view);list = getData();//创建数据集合mAdapter = new ListAdapter(this, list);//新建适配器并加载数据源listView.setAdapter(mAdapter);//视图加载适配器}private List<Icon> getData() {// TODO Auto-generated method stubfor(int i=0;i<5;i++){list.add(new Icon("xxx"+i, R.drawable.ireader));}return list;}}

2.自定义Adapter类,继承至BaseAdapter

public class ListAdapter extends BaseAdapter {private Context context;private List<Icon> icons;private LayoutInflater mInflater;public ListAdapter(Context context, List<Icon> icons) {super();this.context = context;this.icons = icons;this.mInflater = LayoutInflater.from(context);//根据上下文创建视图容器}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn icons.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn icons.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewContent vc = null;if(convertView==null){vc = new ViewContent();convertView = mInflater.inflate(R.layout.item_view, null);//根据ListView每一项的布局文件实例化Viewvc.tv = (TextView) convertView.findViewById(R.id.tv_item);vc.img = (ImageView) convertView.findViewById(R.id.img_item);convertView.setTag(vc);Log.e("tag", "xxx");}else{vc = (ViewContent) convertView.getTag();}vc.img.setBackgroundResource(icons.get(position).getId());;vc.tv.setText(icons.get(position).getName());Log.e("tag", convertView+"");return convertView;}private class ViewContent{private TextView tv;private ImageView img;}}
3.item_view.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:orientation="horizontal" >    <TextView         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/tv_item"/>    <ImageView         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/img_item"/></LinearLayout>



0 0
原创粉丝点击