当前位置: 首页 > news >正文

ui在线设计网站安徽网站建设外贸

ui在线设计网站,安徽网站建设外贸,镇江制作网页图片,网站推广公司兴田德润官网多少在项目中#xff0c;我们常常会遇到一个ScrollView里面会嵌套ListView的情况#xff0c;但往往你会发现#xff0c;ListView和ScrollView的滚动时间会有冲突问题#xff0c;造成ListView不能完全显示。虽然网上有给出解决方案#xff0c;但事实上并不好用#xff0c;并不…在项目中我们常常会遇到一个ScrollView里面会嵌套ListView的情况但往往你会发现ListView和ScrollView的滚动时间会有冲突问题造成ListView不能完全显示。虽然网上有给出解决方案但事实上并不好用并不完美。 public void setListViewHeightBasedOnChildren(ListView listView) {     // 获取ListView对应的Adapter   ListAdapter listAdapter listView.getAdapter();   if (listAdapter null) {    return;   }   int totalHeight 0;   for (int i 0; i listAdapter.getCount(); i) { // listAdapter.getCount()返回数据项的数目    View listItem listAdapter.getView(i, null, listView);    listItem.measure(0, 0); // 计算子项View 的宽高    totalHeight listItem.getMeasuredHeight(); // 统计所有子项的总高度   }   ViewGroup.LayoutParams params listView.getLayoutParams();   params.height totalHeight     (listView.getDividerHeight() * (listAdapter.getCount() - 1));   // listView.getDividerHeight()获取子项间分隔符占用的高度   // params.height最后得到整个ListView完整显示需要的高度   listView.setLayoutParams(params);  }   因此为了彻底解决问题就需要我们另辟途径了我们使用 LinearLayout 绑定 Adapter的方法来代替ListView 将 adapter 里面的 view 全部加入 LinearLayout 并设置回调监听添加DataSetObserver监听adapter 的改变。   public class LinearLayoutForListView extends LinearLayout { private Adapter mAdapter; private OnItemClickListener mOnItemClickListener; private SparseArrayView mViewHolders; private AdapterDataSetObserver mDataSetObserver; public OnItemClickListener getOnItemClickListener() { return mOnItemClickListener; } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { mOnItemClickListener onItemClickListener; } public LinearLayoutForListView(Context context) { super(context); } public LinearLayoutForListView(Context context, AttributeSet attrs) { super(context, attrs); } public LinearLayoutForListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public void setAdapter(Adapter adapter) { this.mAdapter adapter; bindLinearLayout(); } /** 绑定布局 */ private void bindLinearLayout() { if (mAdapter null) { return; } setOrientation(LinearLayout.VERTICAL); int count mAdapter.getCount(); this.removeAllViews(); mViewHolders new SparseArrayView(count); for (int i 0; i count; i) { final View v mAdapter.getView(i, null, null); final int tmp i; final Object obj mAdapter.getItem(i); mViewHolders.put(i,v); // view 点击事件触发时回调我们自己的接口 v.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { if (mOnItemClickListener ! null) { mOnItemClickListener.onItemClicked(v, obj, tmp); } } }); addView(v); } } /** * * 回调接口 */ public interface OnItemClickListener { /** * param v 点击的 view * param obj 点击的 view 所绑定的对象 * param position 点击位置的 index */ public void onItemClicked(View v, Object obj, int position); } Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if(mAdapter ! null mDataSetObserver null){ mDataSetObserver new AdapterDataSetObserver(); mAdapter.registerDataSetObserver(mDataSetObserver); } } Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if(mAdapter ! null mDataSetObserver ! null){ mAdapter.unregisterDataSetObserver(mDataSetObserver); } } private class AdapterDataSetObserver extends DataSetObserver { Override public void onChanged() { if(mAdapter!null){ final int count mAdapter.getCount(); for (int i 0; i count; i){ mAdapter.getView(i,mViewHolders.get(i,null),null); } requestLayout(); } } }} 调用 list.setAdapter(madapter);list.setOnItemClickListener(new LinearLayoutForListView.OnItemClickListener() { Override public void onItemClicked(View v, Object obj, int position) { }});转载于:https://www.cnblogs.com/lucktian/p/6478227.html
http://www.zqtcl.cn/news/589629/

相关文章:

  • 越秀电子商务网站建设国外的ui设计思想网站
  • 网站关键词优化公司网站建设完成确认书
  • 企业微信网站怎么建设山东有哪些网络公司
  • 做任务领佣金的网站源码页面设计参评
  • 淘宝联盟个人网站怎么做企业年度报告公示系统
  • 长沙企业网页设计哪家专业网站优化seo
  • 网站设计 西安漂亮企业网站源码
  • 云南省科技网站网页设计师有前途吗
  • 漳州网站开发找出博大科技慈溪市建设局网站表格下载
  • 网站到期怎么续费公司网站asp源码
  • 多个域名 一个网站域名解析官网
  • 中国建设银行企业网站旅游网页代码模板
  • 湛江免费企业建站wordpress archives
  • 建个企业网站多少钱图书管理系统网站开发教程
  • 淘宝客网站建设详细教程wordpress转dz
  • 银川网站推广i深建官方网站
  • 有什么较好的网站开发框架娱乐网站模板
  • 宿迁网站建设托管wordpress 萝莉
  • 定制网站开发冬天里的白玫瑰制作复杂的企业网站首页
  • 网站开发及设计演讲海报免费做网站app下载
  • 做动态图片的网站吗自考网站建设与实践
  • 建外贸网站需要多少钱胖咯科技 网站建设
  • wordpress注明网站做微网站的第三方登录
  • 学网站建设维护网站公司建设公司
  • 做小型网站的公司wordpress 主题上传
  • 网站之家查询重庆市建设项目环境申报表网站
  • 网站建设基础及流程网站运营一个月多少钱
  • 南沙免费网站建设wordpress邮箱注册
  • 网站关键字优化软件网络营销推广方式包括?
  • 专做装修的网站pc端好玩的大型网游