Android 具有插入功能的ListView和多个TextView

Android 具有插入功能的ListView和多个TextView,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我想在listview行中使用多(2)个文本视图。我想我必须创建自定义适配器,但有了这个适配器,每当我单击诸如:mAdapter.insert(mytext1,mytext2,0)之类的按钮时,我想使用insert multiple data to position 0 但我无法使用示例适配器实现这一点: public class Durations { private String name; private String address;

我想在listview行中使用多(2)个文本视图。我想我必须创建自定义适配器,但有了这个适配器,每当我单击诸如:
mAdapter.insert(mytext1,mytext2,0)之类的按钮时,我想使用insert multiple data to position 0

但我无法使用示例适配器实现这一点:

public class Durations {
            private String name;
            private String address;

            public Durations(String name, String address) {
                this.name = name;
                this.address = address;
            }
            public void setName(String name) {
                this.name= name;
            }
            public String getName() {
                return name;
            }
            public void setAddress(String address) {
                this.address= address;
            }
            public String getAddress() {
                return address;
            }
        }



      public class CustomAdapter extends ArrayAdapter {
            private final Activity activity;
            private final List list;

            public CustomAdapter(Activity activity, ArrayList<Durations> list) {
                this.activity = activity;
                this.list = list;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View rowView = convertView;
                ViewHolder view;

                if(rowView == null)
                {
                    // Get a new instance of the row layout view
                    LayoutInflater inflater = activity.getLayoutInflater();
                    rowView = inflater.inflate(R.layout.row, null);

                    // Hold the view objects in an object, that way the don't need to be "re-  finded"
                    view = new ViewHolder();
                    view.retaurant_name= (TextView) rowView.findViewById(R.id.text1);
                    view.restaurant_address= (TextView) rowView.findViewById(R.id.text2);

                    rowView.setTag(view);
                } else {
                    view = (ViewHolder) rowView.getTag();
                }


                return rowView;
            }

            protected  class ViewHolder{
                protected TextView retaurant_name;
                protected TextView restaurant_address;
            }



        }
公共类持续时间{
私有字符串名称;
私有字符串地址;
公共持续时间(字符串名称、字符串地址){
this.name=名称;
this.address=地址;
}
公共void集合名(字符串名){
this.name=name;
}
公共字符串getName(){
返回名称;
}
公共无效设置地址(字符串地址){
这个地址=地址;
}
公共字符串getAddress(){
回信地址;
}
}
公共类CustomAdapter扩展了ArrayAdapter{
私人最终活动;
私人最终名单;
公共CustomAdapter(活动,ArrayList列表){
这个。活动=活动;
this.list=列表;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行视图=转换视图;
视图持有者视图;
if(rowView==null)
{
//获取行布局视图的新实例
LayoutInflater充气器=活动。getLayoutInflater();
rowView=充气机。充气(R.layout.row,空);
//在对象中保留视图对象,这样就不需要“重新查找”
视图=新的ViewHolder();
view.restaurant_name=(TextView)rowView.findViewById(R.id.text1);
view.restaurant_address=(TextView)rowView.findViewById(R.id.text2);
rowView.setTag(视图);
}否则{
view=(ViewHolder)rowView.getTag();
}
返回行视图;
}
受保护类视窗持有人{
受保护的文本视图保留名称;
受保护的文本视图地址;
}
}

您需要为此覆盖ArrayAdapter函数。因为您使用的是ViewHolder,所以它也将重用布局

getItem(int position)
getItemId(int position)

您可以很容易地找到基于定义自定义适配器的各种教程。

该按钮对于列表很常见,还是放在每行中?
getItem(int position)
getItemId(int position)