android 自定义adapter extends BaseAdapter,做有自己布局的listView

本文介绍了一种使用Android自定义ListView的方法,通过创建自定义适配器实现特定布局效果的列表视图。文中提供了完整的代码示例,包括XML布局文件及Java代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序实现效果:

可根据自己喜欢,做任何效果布局。类似simpleadapter.

程序xml文件:

list_view.xml://主文件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="#ffc9c9c9" android:dividerHeight="1px"/> </LinearLayout>

item_custom.xml://定义想要的布局效果

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="58px" android:gravity="center_vertical" > <ImageView android:id="@+id/index_image" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageView> <TextView android:id="@+id/index_text" android:layout_width="wrap_content" android:layout_height="50px" android:textSize="20sp" android:layout_marginLeft="10px" android:gravity="center" android:textColor="#ff000000"> </TextView> </LinearLayout>

程序代码:

import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class CustomListview extends Activity { private ListView mListView; private List<String> items; @Override public void onCreate(Bundle savedInstanceStated) { super.onCreate(savedInstanceStated); setContentView(R.layout.list_view); mListView = (ListView) findViewById(R.id.list_view); fillArray(); mListView.setAdapter(new CustomListAdapter(this)); } private void fillArray() { items = new ArrayList<String>(); items.add("白天"); items.add("黑天"); items.add("多云"); items.add("微风"); items.add("晴天"); } class CustomListAdapter extends BaseAdapter { private LayoutInflater mInflater; private Context mContext = null; public CustomListAdapter(Context context) { mContext = context; mInflater = LayoutInflater.from(mContext); } public Object getItem(int arg0) { // TODO Auto-generated method stub return items.get(arg0); } public long getItemId(int position) { // TODO Auto-generated method stub return position; } public int getCount() { // TODO Auto-generated method stub return items.size(); } public View getView(int position, View convertView, android.view.ViewGroup parent) { final ImageView indexImage; final TextView indexText; if (convertView == null) { // 和item_custom.xml脚本关联 convertView = mInflater.inflate(R.layout.item_custom, null); } indexImage = (ImageView) convertView.findViewById(R.id.index_image); indexText = (TextView) convertView.findViewById(R.id.index_text); // 设置item中indexText的文本 indexText.setText(items.get(position).toString()); indexText.setTextColor(Color.RED); // 设置item中ImageView的图片 indexImage.setBackgroundResource(R.drawable.icon); return convertView; } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值