请问 一个写好的XML文件 怎么引入到listView中
android新手搜了很多资料说是要用自定义的Adapter到底该怎么用啊这是布局文件源码<?xmlversion="1.0"encoding="utf-8"?><Rel...
android新手 搜了很多资料 说是要用自定义的Adapter 到底该怎么用啊
这是布局文件源码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="57dp"
android:layout_marginTop="28dp"
android:src="@drawable/leixing" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:layout_marginLeft="3dp"
android:textSize="12dp"
android:text="服务:" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_toRightOf="@+id/textView1"
android:textSize="12dp"
android:text="带饭" />
</RelativeLayout>
因为字数的原因 下面还有很多imageView 和 TextView没贴上来 展开
这是布局文件源码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="57dp"
android:layout_marginTop="28dp"
android:src="@drawable/leixing" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:layout_marginLeft="3dp"
android:textSize="12dp"
android:text="服务:" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_toRightOf="@+id/textView1"
android:textSize="12dp"
android:text="带饭" />
</RelativeLayout>
因为字数的原因 下面还有很多imageView 和 TextView没贴上来 展开
1个回答
展开全部
自定义一个class 集成 BaseAdapter
会强制重写几个方法 其中2个最重要
一个是 getcount 这个方法返回一个int 目的是让listview知道总共有几个item 有几个item getView就会调用几次
另一个是 getview 这个方法就是需要把你要的xml装进去 并且在里面做一些赋值的逻辑 上面提到的getcount 返回几个这个方法就调用几次并且每一次调用 里面的position参数会加1也就是说
position为0是第一个item 为1是第二个item以此类推
下面我贴一下我的一段代码供你参考
private class MyAdapter extends BaseAdapter{
private List<String> data;
public MyAdapter(List<String> data){
this.data = data;
notifyDataSetChanged();
}
public void setData(List<String> data){
this.data = data;
notifyDataSetChanged();
}
@Override
public int getCount() {
if (data != null)
return data.size();
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView == null){//这里是为了优化listview的性能
convertView = LayoutInflater.from(mActivity).inflate(R.layout.item_pic,null);//这一句就是把 xml装到listview里
holder = new Holder();
holder.imageView = (ImageView) convertView.findViewById(R.id.img);//这一句是获取xml里面的控件
convertView.setTag(holder);
}else{
holder = (Holder) convertView.getTag();
}
ImageLoader.getInstance().displayImage(data.get(position),holder.imageView,options);//这一句就是给imageview控件下载图片并显示
return convertView;
}
}
public class Holder{
public ImageView imageView;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询