最近在写项目,遇到了一个问题,需要在一个页面中显示两个列表,如图
思路: 在scrollview 中写两个linearlayout , 用linearlayout 代替listview。
下面是如何实现linearlayout 代替Listview。
第一步:重写linearlayout
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
public class MyLinearLayoutForListView extends LinearLayout {
private LinearLayoutBaseAdapter adapter;
private OnItemClickListener onItemClickListener;
public MyLinearLayoutForListView(Context context) {
super(context);
}
public MyLinearLayoutForListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setAdapter(LinearLayoutBaseAdapter adapter) {
this.adapter = adapter;
//绑定adapter中的监听
adapter.setNotifyDataSetChangedIF(changedIF);
// setAdapter 时添加 view
bindView();
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
/**
* 初始化刷新监听
*/
public MNotifyDataSetChangedIF changedIF = new MNotifyDataSetChangedIF() {
@Override
public void changed() {
removeAllViews();
bindView();
}
};
/**
* 刷新页面时调用
* @author caipc
*/
public interface MNotifyDataSetChangedIF{
public void changed();
}
/**
* 绑定 adapter 中所有的 view
*/
private void bindView() {
if (adapt