我想自己模拟一个listview,我在XML中已经定义好了一组LinearLayout,名字叫cusconsultlist_info_text.xml,想用它来代表listview中的一行,然后我想根据读库出来的数据数量动态给页面画许多的这个cusconsultlist_info_text.xml,请问我该如何在代表中重用这套布局?有点类似于cusconsultlist_info_text.xml是个类,我想new很多个cusconsultlist_info_text.xml然后往里面写入数据。。

解决方案 »

  1.   

    package com.beihai.adapter;import java.util.List;import com.beihai.mode.InfoVo;
    import com.beihai.rightinlift.R;import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.TextView;public class RihhtinliftAdapter extends BaseAdapter { private List<InfoVo> list = null;
    private LayoutInflater inflater;

    public RihhtinliftAdapter(List<InfoVo> list,Context context)
    {
    this.list = list;
    this.inflater = LayoutInflater.from(context);

    }

    @Override
    public int getCount() {
    // TODO Auto-generated method stub
    return list.size();
    } @Override
    public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return list.get(arg0);
    } @Override
    public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
    } @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view = null;
    if(convertView == null)
    {
    view = inflater.inflate(R.layout.main, null);
    }else
    {
    view = convertView;
    }

    TextView textView = (TextView) view.findViewById(R.id.textView1);
    Button button = (Button) view.findViewById(R.id.button1);

    if(list != null)
    {
    InfoVo infoVo = list.get(position);
    textView.setText(infoVo.getName());
    button.setText(infoVo.getContent());
    }
    return view;
    }}
    红色的main就是你的那个xml
      

  2.   


    嗯这个适配器看的懂,可是能加适配器的是不是只有listview和gridview?如果我不使用listview和gridview的话我该怎么使用这个自定义的适配器呢?
      

  3.   

    直接在XML布局文件中用include标签就行了。
      

  4.   


    嗯。。我想在程序代码中重用这个cusconsultlist_info_text.xml的布局,include是在xml文件中重用其他xml文件吧?
      

  5.   

    android界面xml文件中导入另一个xml文件的方法
    include<RelativeLayout
              android:layout_width="60px"
              android:layout_height="fill_parent"
              android:layout_marginLeft="420px">
              <include android:id="@+id/included1"
                  layout="@layout/anotherlayout" /> 
        </RelativeLayout> 或通过merge 引入<LinearLayout  
       android:layout_width="100px"
       android:layout_height="wrap_content"> 
      <include layout="@layout/anotherlayout"/>
      </LinearLayout> <?xml version="1.0" encoding="utf-8"?>
    <merge xmlns:android="http://schemas.android.com/apk/res/android" > 
      <Button android:id = "@+id/btn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="按钮"/>
    </merge>
      

  6.   


    嗯。。感谢,我想请教的是如何在代码中重用一套已经定义好的xml,其实在程序中也可以动态的一句句写一个个控件添加,但是那样我担心当数据量大了以后效率会有问题,所以才想重用xml中的布局。。
      

  7.   

    view = inflater.inflate(R.layout.cusconsultlist_info_text, null);再用addview就可以了