public class LinearLayoutForListView extends LinearLayout {
private ListAdapter adapter;
/**
* 绑定布局
*
*/
public void bindLinearLayout() {
removeAllViews();
int count = adapter.getCount();
for (int i = 0; i < count; i++) {
View v = adapter.getView(i, null, null);
v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
addView(v, i);
}
}
/**
*
* @param context
*/
public LinearLayoutForListView(Context context) {
super(context);
}
/**
*
* @param context
* @param attrs
*/
public LinearLayoutForListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* 获取Adapter
*
* @return adapter
*/
public ListAdapter getAdpater() {
return adapter;
}
/**
* 设置数据Adapter
*
* @param adpater
*/
public void setAdapter(ListAdapter adpater) {
this.adapter = adpater;
bindLinearLayout();
}
}
private ListAdapter adapter;
/**
* 绑定布局
*
*/
public void bindLinearLayout() {
removeAllViews();
int count = adapter.getCount();
for (int i = 0; i < count; i++) {
View v = adapter.getView(i, null, null);
v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
addView(v, i);
}
}
/**
*
* @param context
*/
public LinearLayoutForListView(Context context) {
super(context);
}
/**
*
* @param context
* @param attrs
*/
public LinearLayoutForListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* 获取Adapter
*
* @return adapter
*/
public ListAdapter getAdpater() {
return adapter;
}
/**
* 设置数据Adapter
*
* @param adpater
*/
public void setAdapter(ListAdapter adpater) {
this.adapter = adpater;
bindLinearLayout();
}
}
本文介绍了一个自定义的LinearLayout类,该类专为ListView设计。它通过遍历适配器的数据集来填充视图,并允许设置和获取适配器。此组件简化了ListView中线性布局的使用。
2698

被折叠的 条评论
为什么被折叠?



