原来处理方法是重写ListView

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ListView;public class MyListView extends ListView {public MyListView(Context context) {super(context);// TODO Auto-generated constructor stub
    }public MyListView(Context context, AttributeSet attrs) {  super(context, attrs);  }  public MyListView(Context context, AttributeSet attrs, int defStyle) {  super(context, attrs, defStyle);  }  @Override  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {  int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);  super.onMeasure(widthMeasureSpec, expandSpec);  }  @Override  public boolean dispatchTouchEvent(MotionEvent ev) {  if(ev.getAction() == MotionEvent.ACTION_MOVE){     return true;   }   return super.dispatchTouchEvent(ev);  }
}

试了这种方法还是显示不全 总是少二项内容

又使用了

public static void setListViewHeightBasedOnChildren(ListView listView) {// 获取ListView对应的AdapterListAdapter listAdapter = listView.getAdapter();if (listAdapter == null) {return;}int totalHeight = 0;for (int i = 0, len = listAdapter.getCount(); i < len; 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);}

View Code

还是一样效果 少二项内容

最后在网上找到有人重写LinearLayout显示列表

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;/**** * @author FreePC**/
public class LinearLayoutForListView extends LinearLayout
{private BaseAdapter adapter;private OnItemClickListener onItemClickListener;/*** 通过 Java代码  实例化* @param context*/public LinearLayoutForListView(Context context){super(context);//设置LinearLayoutForListView为垂直布局,否者默认为水平布局,容易疏忽导致子项显示不全LinearLayoutForListView.this.setOrientation(LinearLayout.VERTICAL);}/*** 此构造函数可以允许我们通过 XML的方式注册 控件* @param context* @param attrs*/public LinearLayoutForListView(Context context, AttributeSet attrs){super(context, attrs);LinearLayoutForListView.this.setOrientation(LinearLayout.VERTICAL);}/*** 设置适配器* * @param adpater*/public void setAdapter(BaseAdapter adpater){this.adapter = adpater;bindLinearLayout();}/*** 获取适配器Adapter* * @return adapter*/public BaseAdapter getAdpater(){return adapter;}/*** 绑定布局:将每个子项的视图view添加进此线性布局LinearLayout中*/public void bindLinearLayout(){int count = adapter.getCount();for (int i = 0; i < count; i++){View v = adapter.getView(i, null, null);if (i != count - 1){    //添加每项item之间的分割线v = addLine(v);}addView(v, i);}setItemClickListener();Log.v("countTAG", "" + count);}/*** 添加每项item之间的分割线* * @param view* @return*/public View addLine(View view){//分割线viewView lineView = new View(view.getContext());// 将数据从dip(即dp)转换到px,第一参数为数据原单位(此为DIP),第二参数为要转换的数据值float fPx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,(float) 0.5, view.getResources().getDisplayMetrics());int iPx = Math.round(fPx);LayoutParams layoutParams = new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, iPx);lineView.setLayoutParams(layoutParams);lineView.setBackgroundColor(view.getSolidColor());LinearLayout ly = new LinearLayout(view.getContext());ly.setOrientation(LinearLayout.VERTICAL);ly.addView(view);ly.addView(lineView);return ly;}/*** 设置点击子项事件监听对象* @param onItemClickListener*/public void setOnItemClickListener(OnItemClickListener onItemClickListener){this.onItemClickListener = onItemClickListener;setItemClickListener();}/*** 获取点击子项事件监听对象* @return*/public OnItemClickListener getOnItemClickListener(){return onItemClickListen

View Code

这种方法完全可以搞定,在原来开发当中 上面二个方法都可以搞定不知道这次为什么不行

我怀疑是布局问题

 <ScrollViewandroid:id="@id/myscrollview"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/v_common_line_color"android:orientation="vertical"android:scrollbars="none" ><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="8.0dip"android:orientation="vertical" ><FrameLayoutandroid:id="@id/frame_layout"android:layout_width="match_parent"android:layout_height="wrap_content" ><ImageViewandroid:layout_width="match_parent"android:layout_height="200.0dip"android:background="@drawable/home_cover2"android:scaleType="centerCrop" /><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom|left"android:layout_marginBottom="8.0dip"android:layout_marginLeft="16.0dip" ><TextViewandroid:id="@id/txt_city"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@color/white"android:textSize="@dimen/font18" /><TextViewandroid:id="@id/txt_weather"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/txt_city"android:layout_gravity="bottom|left"android:textColor="@color/white"android:textSize="@dimen/font18" /></RelativeLayout></FrameLayout><LinearLayoutandroid:id="@id/linear_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/frame_layout"android:layout_marginTop="8.0dp"android:background="@drawable/layout_background_corners"android:orientation="vertical"android:padding="8.0dip" ><TextViewandroid:id="@id/txtTitle"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:textColor="@color/black2"android:textSize="@dimen/font16" /></LinearLayout><ListViewandroid:id="@id/liv_trip"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/linear_title"android:layout_marginBottom="8.0dip"android:layout_marginTop="8.0dip"android:divider="@color/cccccc"android:dividerHeight="0px"android:fadingEdge="none" /></RelativeLayout></ScrollView>

View Code

item布局是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" android:background="@color/v_common_line_color"></LinearLayout>

View Code

转载于:https://www.cnblogs.com/freexiaoyu/p/4089755.html

android scrollview listview显示不全相关推荐

  1. Android 自定义 ListView 显示网络上 JSON 格式歌曲列表

    本文内容 环境 项目结构 演示自定义 ListView 显示网络上 JSON 歌曲列表 参考资料 本文最开始看的是一个国人翻译的文章,没有源代码可下载,根据文中提供的代码片段,自己新建的项目(比较可恶 ...

  2. android圆形图标显示不全,android 桌面图标显示不全

    android 图标显示不全的现象,分析代码和配置文件如下操作可以解决问题 Workspace.java 文件 cellCountX = 1; while (CellLayout.widthInPor ...

  3. 解决ListView显示不全、滑动冲突问题

        在开发中,ListView是使用得最多的控件,有时候会遇到ListView因为各种原因引起的数据显示不全,例如,嵌套了ScrollView等.这个解决的办法很多,这里记录一下我自己用过的方法, ...

  4. android自定义listview 显示数组,android中使用arrayadapter类的自定义列表视图

    从https://groups.google.com/forum/?fromgroups#!topic/android-developers/No0LrgJ6q2M绘制 public class Ma ...

  5. android log长字符串显示不全,如何解决Android的Log显示不全的问题

    在做Android开发过程中,我们常常会使用系统提供的日志打印功能选择性地在Logcat控制台上打印一些数据信息,调试跟踪应用运行的一个状态,常见如客户端与服务器通讯过程中涉及到的URL链接.requ ...

  6. Android seekbar滑块显示不全问题解决

    本来想实现下图效果: 可实际自己写的确实下图的效果(注意红框位置): 解决方法: 在SeekBar中添加下面属性,值必须设置0dp android:thumbOffset="0dp" ...

  7. ViewPager 在 ScrollView 中显示不全的解决方法

    比如我这里 <android.support.v4.view.ViewPager                     android:id="@+id/viewPager2&quo ...

  8. android桌面壁纸显示不全屏显示,手机壁纸怎么全屏 全屏显示手机壁纸方法

    使用安卓手机的朋友都知道,安卓手机更换的壁纸是一个比较大的壁纸,对于一张背景壁纸图片我们手机界面看到的只有一部分,只有通过左右划屏才可以变换的看完整张桌面背面图片,那么如何在手机界面中看到一个完整的桌 ...

  9. android edittext字数显示不全,Android的EditText字数检测和限制解决办法

    Android的EditText字数检测和限制解决办法 控件EditText在Android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输 ...

最新文章

  1. 《权力的游戏》最终季上线!谁是你最喜爱的演员?这里有一份Python教程 | 附源码...
  2. 无法在指定计算机上定位,Win10电脑无法打开定位功能时启动GeolocationService服务提示找不到文件怎么办...
  3. asp.net select Case条件语句的使用方法
  4. Struts2教程1:第一个Struts2程序
  5. stm32f4之GPIO
  6. wxWidgets:实时传输时间RTTI
  7. 比MySQL快6倍 深度解析国内首个云原生数据库POLARDB的“王者荣耀”
  8. 运用递归将两个链表进行连接
  9. React开发(189):ant design textarea允许清除allowClear
  10. 收藏 | 三张图读懂机器学习:基本概念、五大流派与九种常见算法
  11. MYSQL中取当前周/月/季/年的第一天与最后一天
  12. 列表查询组件代码, 简化拼接条件SQL语句的麻烦
  13. python中new方法详解及_Python中__new__与__init__方法的区别详解
  14. Android使用本地广播
  15. Matlab图像处理系列3———空间域锐化滤波器
  16. m3u8格式转换器android,m3u8转换格式mp4软件下载-m3u8转换格式 安卓版v2.7.0-PC6安卓网...
  17. 聊聊图标和MBE图标
  18. 外贸建站需要注意的事项
  19. 服务器销售术语,服务器术语大全
  20. html5语文答题制作,语文万能答题模板

热门文章

  1. 牛客国庆集训派对Day3: I. Metropolis(dijkstra)
  2. tf代码之tf.nn.conv2d_transpose
  3. 利用matlab自带函数graycoprops 实现基于共生矩阵的遥感图像纹理特征分析
  4. Java 图片验证码的实现和模拟简单的登录
  5. [paper reading] ResNet
  6. python机器学习库教程——结巴中文分词
  7. Quartus17打开RTL视图
  8. c++中获取蓝图组件_Vue组件通信方式居然有这么多?你了解几种
  9. 浏览器的DNS缓存查看和清除
  10. Mysql事物隔离级别