易采站长站为您分析深入浅出的带领大家学习Android ListView基础,ListView是安卓里常用的控件,本文介绍一下常用用法,以及优化等方法,感兴趣的小伙伴们可以参考一下
ListView 简介
ListView 是安卓里常用的控件, 本文介绍一下常用用法,以及优化等方法
1、改写activity_main.xml
<LinearLayout xmlns:android="http://www.easck.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
2、新建一个javabean
package com.example.tomchen.testlistview;
public class Icon {
private int imageId;
private String name;
public Icon(String name, int imageId) {
this.name = name;
this.imageId = imageId;
}
public String getName() {
return name;
}
public int getImageId() {
return imageId;
}
}
3、新建icon_item.xml 用于 listview 每个元素的视图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://www.easck.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
4、新建一个class IconAdapter 继承自 ArrayAdapter
package com.example.tomchen.testlistview;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class IconAdapter extends ArrayAdapter<Icon> {
private int resourceId;
public IconAdapter(Context context, int resource, List<Icon> icons) {
super(context, resource, icons);
this.resourceId = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Icon icon = getItem(position);
View view;
if (convertView == null) {
view = LayoutInflater.from(getContext()).inflate(resourceId, null);
} else {
view = convertView;
}
ImageView image = (ImageView) view.findViewById(R.id.icon);
image.setImageResource(icon.getImageId());
TextView text = (TextView) view.findViewById(R.id.text);
text.setText(icon.getName());
return view;
}
}










