我想自己模拟一个listview,我在XML中已经定义好了一组LinearLayout,名字叫cusconsultlist_info_text.xml,想用它来代表listview中的一行,然后我想根据读库出来的数据数量动态给页面画许多的这个cusconsultlist_info_text.xml,请问我该如何在代表中重用这套布局?有点类似于cusconsultlist_info_text.xml是个类,我想new很多个cusconsultlist_info_text.xml然后往里面写入数据。。
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
嗯这个适配器看的懂,可是能加适配器的是不是只有listview和gridview?如果我不使用listview和gridview的话我该怎么使用这个自定义的适配器呢?
嗯。。我想在程序代码中重用这个cusconsultlist_info_text.xml的布局,include是在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>
嗯。。感谢,我想请教的是如何在代码中重用一套已经定义好的xml,其实在程序中也可以动态的一句句写一个个控件添加,但是那样我担心当数据量大了以后效率会有问题,所以才想重用xml中的布局。。