android scrollview中嵌套expandablelistview
来源:互联网 发布:淘宝全职客服工资多少 编辑:程序博客网 时间:2024/05/22 14:13
http://blog.csdn.net/swust_chenpeng/article/details/17413955
一、重新expandablelistview
- public class CustomExpandableListView extends ExpandableListView {
- public CustomExpandableListView(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- }
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- // TODO Auto-generated method stub
- int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
- MeasureSpec.AT_MOST);
- super.onMeasure(widthMeasureSpec, expandSpec);
- }
- }
二、动态计算expandablelistview的高度,xxx_group.xml和xxx_child.xml的最外层要用linearlayout,反正relativelayout不行,不知道为什么
- private void setListViewHeight(ExpandableListView listView) {
- ListAdapter listAdapter = listView.getAdapter();
- int totalHeight = 0;
- int count = listAdapter.getCount();
- for (int i = 0; i < listAdapter.getCount(); i++) {
- View listItem = listAdapter.getView(i, null, listView);
- listItem.measure(0, 0);
- totalHeight += listItem.getMeasuredHeight();
- }
- ViewGroup.LayoutParams params = listView.getLayoutParams();
- params.height = totalHeight
- + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
- listView.setLayoutParams(params);
- listView.requestLayout();
- }
三、scrollveiew中嵌套的listview的话,前两种都行,还有一种如下
- public class ViewGroupForListView extends LinearLayout implements View.OnClickListener {
- private ListAdapter mAdapter = null;
- private OnItemClickListener mListener = null;
- public ViewGroupForListView(Context context) {
- super(context);
- }
- public ViewGroupForListView(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- this.setOrientation(VERTICAL);
- }
- /**
- * 绑定数据
- */
- protected void bindData() {
- int count = mAdapter.getCount();
- for(int i = 0; i < count; i++) {
- View v = mAdapter.getView(i, null, null);
- v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
- v.setOnClickListener(this);
- v.setId(i);
- addView(v, i);
- }
- }
- /**
- * 设置adapter
- * @param adapter
- */
- public void setAdapter(ListAdapter adapter) {
- mAdapter = adapter;
- if(this.getChildCount() != 0) {
- removeAllViews();
- }
- bindData();
- }
- /**
- * 获取adapter
- * @return
- */
- public ListAdapter getAdapter() {
- return mAdapter;
- }
- /**
- * 绑定监听
- * @param listener
- */
- public void setOnItemClickListener(OnItemClickListener listener) {
- this.mListener = listener;
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if(mListener != null) {
- mListener.onItemClick(v.getId(), mAdapter);
- }
- }
- /**
- * 监听接口
- * @author Visual
- *
- */
- public interface OnItemClickListener {
- public void onItemClick(int position, ListAdapter adapter);
- }
adapter的实现类似普通listview的adapter用法
阅读全文
0 0
- android scrollview中嵌套expandablelistview
- android scrollview中嵌套expandablelistview
- android scrollview中嵌套expandablelistview
- Scrollview中嵌套Expandablelistview
- ScrollView中嵌套ExpandableListView
- android scrollview中嵌套expandablelistview高度问题
- Android ScrollView中嵌套ListView或ExpandableListView
- Android ScrollView中嵌套ExpandableListView,item不显示的问题
- Android ScrollView嵌套listview或ExpandableListView
- ScrollView中嵌套ListView/ExpandableListView显示问题
- ScrollView嵌套 ExpandableListView
- android关于scrollview嵌套ExpandableListView的实现1
- android关于scrollview嵌套ExpandableListView的实现2
- [Android]ScrollView,ListView,ExpandableListView,ViewPager各种嵌套demo
- Android ScrollView嵌套ExpandableListView显示不正常的问题的解决办法
- ScrollView嵌套ExpandableListView,ExpandableListView的写法
- Scrollview嵌套ExpandableListView 的方法
- Android中ExpandableListView中嵌套ListView
- springmvc配置多视图解析器
- php异步实现,避免长时间等待
- 前端导学
- JSON的null转换成空字符串
- 如何高效学习
- android scrollview中嵌套expandablelistview
- tensorflow io 图片读取
- 避免tomcat运行过程中跳转到debug模式下
- Djistra 最短路算法简单实现、java
- 如何防止手机网页放大缩小
- RegExp() 对象
- android shell 命令--- input
- 测试开发的要求
- Leetcode Path Sum II