在开发android中,ListView 的应用显得非常频繁,只要需要显示列表展示的应用,可以说是必不可少,下面是记录开发中应用到ListView与Adapter 使用的实例:
ListView 所在页面中的布局(listview_item.xml):
<?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:focusable="true"
android:focusableInTouchMode="true">
<ListView
android:id="@+id/listview_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:scrollbars="none">
</LinearLayout>
Adapter 展示的布局 (item.xml):
<?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"> <LinearLayout
android:id="@+id/layout_sub_item_content"
android:layout_width="match_parent"
android:layout_height="50dp"> <ImageView
android:id="@+id/img_choose"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:src="@drawable/xuanzhong_icon"
android:layout_gravity="center_vertical"
/>
<TextView
android:id="@+id/textview_name"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:gravity="center_vertical"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:textColor="#333333"
android:text="项目名称"
android:paddingLeft="5dp"/> <TextView
android:id="@+id/textview_price"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:textColor="#333333"
android:text="454.0"
android:gravity="center"/> <TextView
android:id="@+id/textview_vip"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:text="非会员价"
android:gravity="center"
android:textColor="@color/red"/> </LinearLayout>
</LinearLayout>
activity_item.java:
/**
* 项目列表适配器
*/
private MyBaseAdapt itemInfoAdapt; @InjectView(R.id.listview_item)
ListView listview_item; private class ViewHolder {
TextView textview_name;
TextView textview_price;
TextView textview_vip;
ImageView img_choose;
}
/**
*项目数据List
*/
private List<ItemInfo> listItemInfo=new ArrayList<>(); /**
* 初始化列表
*/
private void initItemListView() {
itemInfoAdapt = new MyBaseAdapt<ItemInfo>(this, R.layout.item, listItemInfo) {
@Override
public View myAdapt(int position, View convertView, View mView, List<ItemInfo> mEntityList) {
ViewHolder holder = null;
if (convertView == null) {
convertView = mView;
holder = new ViewHolder();
holder.textview_name = (TextView) convertView.findViewById(R.id.textview_name);
holder.textview_price = (TextView) convertView.findViewById(R.id.textview_price);
holder.textview_vip = (TextView) convertView.findViewById(R.id.textview_vip);
holder.img_choose=(ImageView) convertView.findViewById(R.id.img_choose);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ItemInfo itemInfo = mEntityList.get(position);
holder.textview_name.setText(itemInfo.getName());
holder.textview_price.setText(PriceManager.getPrice(itemInfo.getPriceStr(), itemInfo.getPriceTypeStr()).get(Common.PRICE_TYPE_ORIGIN));
holder.textview_vip.setText(PriceManager.getPrice(itemInfo.getPriceStr(), itemInfo.getPriceTypeStr()).get(Common.PRICE_TYPE_PIONEER));
return convertView;
}
};
listview_item.setAdapter(itemInfoAdapt);
}