Android 控件绑定封裝

时间:2023-03-09 02:03:28
Android 控件绑定封裝

最近刚开始写android

随便记录一下,以后还会修改

绑定ListView,Spinner

先创建绑定项:

BaseItem
public class BaseItem {

    public BaseItem(Integer id,String value){
this.setId(id);
this.setValue(value);
} private Integer id;
private String value; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
} //必须要重写,不然绑定spinner会有问题
@Override
public String toString() {
// TODO Auto-generated method stub
return value;
}
}

然后创建绑定方法:

public class ControlHelper {
public static <T extends AdapterView> void BindAdapterView(Context context, T control, List<BaseItem> list)
{
ArrayAdapter<BaseItem> adapter=new ArrayAdapter<BaseItem>(context, android.R.layout.simple_list_item_1,list);
control.setAdapter(adapter);
}
public static <T extends AdapterView> void BindAdapterView(Context context, T control, List<BaseItem> list,Integer layout)
{
ArrayAdapter<BaseItem> adapter=new ArrayAdapter<BaseItem>(context, layout,list);
control.setAdapter(adapter);
}
}

调用:

List<BaseItem> list = new ArrayList<>();
//result.getData()是数据源
for (int i = 0; i < result.getData().size(); i++) {
Integer wid = result.getData().get(i).getPPR_ID();
String name = result.getData().get(i).getPO_No();
BaseItem item = new BaseItem(wid, name);
list.add(item);
}
//spinner
ControlHelper.BindAdapterView(getBaseContext(), spInboundPO, list);
//listview
ControlHelper.BindAdapterView(getBaseContext(), lvInboundPO, list, android.R.layout.simple_list_item_1);