请问 一个写好的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没贴上来
展开
 我来答
百度网友b1b37772f
推荐于2016-07-24 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:87
采纳率:100%
帮助的人:113万
展开全部

自定义一个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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式