Android adapter中嵌套adapter API19报错 5C

ListView嵌套了GridView但是在ListView的Adapter中给GreidView设置adapter时会抛出异常,API19。手里还有一版API24正常运行。

报错日志

/AndroidRuntime: FATAL EXCEPTION: main
Process: com.unicom.domain, PID: 9100
java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
at android.widget.GridView.onMeasure(GridView.java:1046)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:16497)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1034)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
at android.view.View.measure(View.java:16497)
at android.widget.ListView.setupChild(ListView.java:1870)
at android.widget.ListView.makeAndAddView(ListView.java:1793)
at android.widget.ListView.fillDown(ListView.java:691)
at android.widget.ListView.fillFromTop(ListView.java:752)
at android.widget.ListView.layoutChildren(ListView.java:1630)
at android.widget.AbsListView.onLayout(AbsListView.java:2091)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14817)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2011)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1768)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1024)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5694)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.

                                                                                                                                ![图片说明](https://img-ask.csdn.net/upload/201801/23/1516687315_453300.png)
0

8个回答

这不是类型转换错误吗,换个LayoutParams就行了

1

图片说明

0

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int height = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, height);
}
重写gridView就好了

0

很明显,给GridView设置属性的时候gridview外层应该是一个Linearlayout,你给赋值成AbsListView了,必须错

0

你页面是不是把AbsListView写成LinearLayout了,所以报了类型转换的错误

0

Ctrl + F 搜索LayoutParams ,就可以找到类型强制转换错误,改了就行了啊

0

java.lang.ClassCastException: android.widget.
LinearLayout$LayoutParams
cannot be cast to
android.widget.AbsListView$LayoutParams
写的很清楚,仔细看一下报错信息就能解决呀。

0
mingyue_1128
程序猿L 已经接解决了,嵌套的太多了,一直在找gridView的问题,结果是gridView里面item的问题。而且高版本会兼容,低版本会崩溃。
一年多之前 回复

问题关不了吗,已经解决了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android Adapter嵌套Adapter(文档类app,说明书类app)
相信很多人都用过Adapter,但是Adapter嵌套Adapter确很少使用,主要是这样的需求也不多,最近要做一个说明书类的应用,左边实现目录的嵌套,点击一级目录弹出二级目录,一级目录为一个Adapter,二级目录又是一个Adapter。当我们点击左面的条目时右边又要动态的显示文本或者图片内容,这里我用了两个Fragment。一个用来装目录列表,一个用来显示内容。 大致界面: 点击左边目录弹出
adapter中的数据错误原因和解决方案
Adapter的图片错位原因和解决方案
利用回调函数解决分类式Listview的notifyDataSetChanged在adapter中不执行的问题
  本文从头开始回顾我的项目,想要直接看题目解决方法的请跳到第三个问题。 最近打算做一个程序锁app练练手,在GitHub上找到了基础代码进行修改。 原代码https://github.com/caiwenshuo/asLockApp实现的listview是将锁定的app和未锁定的app混杂在一起显示,我希望实现的是锁定与未锁定的app分开显示,并且在listview有分类标签。 原效果图...
Android Adapter 里面写 RadioGroup、RadioButton、CheckBox 状态错乱问题的 2 种解决方案
前言: RadioButton 的 选择状态一律由 radioGroup.check() 去处理,清除选择 用 rg.clearCheck() 处理,setChecked 会导致属性改变,但 UI 上未改变、不能再次选中等一系列问题 方式一: // RadioGroup + RadioButton myViewHolder.rg.clearCheck(); ...
Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
在一个项目中,我遇到这样的问题,一个界面中需要两个ListView来加载数据,最开始一切顺利,但是到了对接数据时,就出现问题了看,因为被嵌套在ScrllView中的ListView出现了执行多次getView,并不是从0~数据最大数,而是可能先执行多次position为0的数据。  后面找了我们万能度娘,发现有前人解决了这个问题。         有巨人已经解决了必须实现这样布局的,就是自己
Android开发-从源码分析Fragment嵌套PagerAdapter生命周期,解决重建问题
介绍 众所周知在Android开发中Fragment的生命周期非常复杂,复杂得甚至让Square公司提出了我为什么主张反对使用Android Fragment转而提倡使用自定义View组合替代Fragment。但是没办法公司项目还是使用了很多Fragment嵌套。遇到问题还是需要自己去处理的。 这里以Fragment的状态保存和恢复(即重建)来讨论一些关于Fragment的生命周期问题。 ...
RecycleView设置多个适配器(Adapter)无法显示布局
问题 我想要为一个RecyleView设置多个适配器,实现切换布局的效果,在虚拟机上测试完全没问题,实现了点击更换适配器的效果。但是安装在真机上进行测试时发现点击后布局没有加载,整个RecycleView是空白的。 原本的实现思路 直接调用 RecycleView 的setAdapter() 来重置适配器,更换布局,可是失败了。仔细观察发现,每次在 onCreateView() 中更新 Recyc...
setAdapter的时候,总是报错 空指针异常
listview 绑定适配器setAdapter的时候,总是报错  空指针异常。 onCreate 那里,在获取ListView 之前,你得加载这个界面的布局!! 解答: 你看你的MainActivity里,初始化的时候不是有SetContentView(R.layou
自定义Adapter的接口,方便回调。Adapter与Activity之间的回调
1,接口写在Adapter里: ①:private OnCityClickListener onCityClickListener;//定义对象 ②://写接口,并定义方法,根据自己的需求定义里面的方法(这等会是在adapter里实现的,在Activity里调用) public interface OnCityClickListener { void onCityClic
Android 使用adapter的两种回调数据方式
1、首先创建一个listView列表,用于显示数据<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" /> item布局使用简单的一行文字显示,主要是将点击的位置回调回使用listView的类文件之中
Recyclerview嵌套适配器
package com.bawei.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayout...
解决XRecyclerView动态切换布局管理器 多次调用setAdapter崩溃
完美解决XRecyclerView动态切换布局管理器 多次调用setAdapter崩溃
Android 中ListView的Adapter复用填坑记(一个ListView展示两种布局的坑)
“纸上得来终觉浅,绝知此事要躬行。”以前虽然经常听说Adapter有复用问题,但是没有自己遇到过之前,只是有个印象,但到底是什么问题?不知道!直到后来,一个ListView中需要展示两种布局,按照习惯哐哐哐写下去,结果后面一运行,咦~这都什么鬼?两种布局乱七八糟,本该是第一种布局在的地方,偶尔会冒出第二种布局,本该第二种布局在的地方,有时却是第一种布局。两种布局就像捣蛋的熊孩子,不听指挥。这时,才...
ListView,GridView和适配器Adapter不得不说的秘密
ListView,GridView和适配器Adapter不得不说的秘密,欢迎进来看。。。
在外层获取Adapter中的控件
在 activity / fragment 获取其中 adapter 中的控件: 需要注意的是:在获取 adapter 控件时,需要等待 recyclerView 绘制完成,才可以获取到,否则会报空指针异常; 所以需要添加 OnGlobalLayoutListener 和 addOnGlobalLayoutListener 监听方法。 recyclerView.getVie...
在activity中使用adapter加载数据
用AsyncTask加载图片private GridAdapter3 gridAdapter; public ImageLoadTask(Context context,GridAdapter3 gridAdapter) { this.gridAdapter=gridAdapter; } @Override
android listview嵌套解决方案
1、解决方案: 直接自定义Listview,或者recycleview,并且继承相应的父控件(如果是listview相嵌套,那就继承listview,然后是recycleview嵌套listview,那就写2个类,一个继承listview,一个继承recycleview,如果是recycleview嵌套,就继承recyleview),看完代码就知道是咋回事了 public class MyLi...
ListView的Adapter在getView()的时候position始终为0,异常解决了,求解答根本原因
首先,我遇到的问题是Adapter的数据没有问题,但是在调用getView(int position, View convertView, ViewGroup parent)这个方法的时候,Position始终为0.如果你也遇到了,可以看看我整个解决的过程,权当一个反面教材:一开始,当我看到我的ListView不能显示完整的内容时,我是怀疑是Adapter的问题,于是我将Adapter选择了我之前在
Android中适配器Adapter的使用
安卓中最常使用的适配器Adapter有三种:1.ArrayAdapter 2.SimpleAdapter 3.BaseAdpter,此处我们用代码结合图文的方式理解。       首先需要在起始布局activity_main.xml文件中设置三个Button按钮,并分别设置点击事件,并与MainActivity相结合        一:ArrayAdapter:简单易用的Adapter,
Android知识点2-Adapter中使用Intent跳转到另一个activity
如果成功了,就叫我雷锋,雷锋我爱你,Bingsman 分享精神不多说直接上代码public class MainViewAdapter extends BaseAdapter { private Context mContext; private LayoutInflater bsman = null; // 初始化你的Context public MainViewAd
fragment 中adapter数据无法显示问题
private synchronized void update() { if (currentApn != null &amp;amp;&amp;amp; !listAll.contains(currentApn)) { listAll.add(0, currentApn); apnAdapter = new ApnAdapter(getActivity(), list...
[Android初级]关于Adapter使用notifyDataSetChanged无效的原因和解决方案
在android中经常会使用Listview等组件来
Recycleview嵌套Recycleview时出现的一个问题-待解决
只add间距一次,不要多次add 目标实现下面的效果; 思考一下,很简单,Recycleview嵌套Recycleview;外层的item宽度固定,高度为自适应;内部为一个Recycleview实现的gradview,item宽度固定,然后给内层的recycleview设置一个间距:即addItemDecoration。 但是,事情会这么简单吗?简单我就不会写出来。照着思路一步步走下去,...
BaseRecyclerViewAdapterHelper的多级嵌套的demo
基于BaseRecyclerViewAdapterHelper依赖库,实现多层recyclerView嵌套,简单易用,不需要多个recyclerView嵌套使用,只需要继承BaseMultiItemQuickAdapter,实现一个recyclerView写多层嵌套
Android 解析RecyclerView(1)——带点击事件监听的通用Adapter
在之前我已经写过一篇关于设计通用Adapter的文章了:Android RecyclerView设计通用Adapter 按照最原始的做法,构建一个RecyclerView Adapter需要写挺多代码的,而通过对Java泛型的使用,可以使代码量变得只需十几行即可。此外,由于RecyclerView不像ListView那样支持直接添加顶部View,也不支持直接添加点击事件监听,需要开发者自己通过改
Activity里获取Adapter控件值
好记性不如烂笔头; ListView list= (ListView)findViewById(R.id.list);//获得listview for (int i = 0; i < list.getChildCount(); i++) { LinearLayout layout = (LinearLayout)list.getChildAt(i);// 获得子item的la
Android-RecyclerView自定义item点击事件之adapter实现方式
RecyclerView取代listView,GridView实现列表/网格布局,不足之一:没有自带的onItemClickListener点击事件,一个简单明了的实现方式:通过adapter自定义接口实现item点击。事例:在FactoryModuleAdapter类第一步:定义接口private ItemClickListener itemClickListener;public void s...
解决listView.setAdapter()出现空指针异常
<!--这里是你的ListView--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView
Android两个ListView共用一个万能的BaseAdapter
Android两个ListView共用一个万能的BaseAdapter升级之前的MyAdapter.javapackage run.yang.com.listviewactivedemo;import android.content.Context; import android.view.LayoutInflater; import android.view.View; import androi
RecyclerView的双层嵌套-购物车的代码:
依赖: //Butterknife:根据反射注入框架 implementation ‘com.jakewharton:butterknife:8.8.1’ annotationProcessor ‘com.jakewharton:butterknife-compiler:8.8.1’ //Brvah:RecyclerView快速开发框架 implementation ‘com.github.Cym...
MultiType-Adapter 优雅的实现RecyclerVIew中的复杂布局
MultiType-Adapter一款轻量级支持多数据类型的 RecyclerView 适配器; 使用简单,完全解耦; 代码传送门·总览 ·特性   · 基础用法   · 单数据   · 多数据-多类型   · 单类型-多数据   · 事件 ·高级用法   · 网格布局与线性布局混合编排   · 瀑布流布局   · 上拉加载   · 无数据时过度界面设置
android:Adapter中设置textview字体颜色
这样在adpater里面设置是有效果的,设置子布局中TextView文本框的字体颜色:
listview中复用seekbar bug产生及解决方案
前言1.之前没怎么在ListView的Item条目中嵌套Seekbar, 突然有朋友遇到这样的情况,于是花点时间解决下网上找的一些blog基本没什么用,可能是我的手法不对,本篇实测有效解决问题seekbar在listview的item中时,点击定时加载进度时,滑动listview,seekbar复用的部分也会被定时器控制进行进度加载解决后的效果分析listview的常规用法,  设置适配器 适配器...
Adapter中getView()方法多次调用问题
有的时候大家在写数据适配器的时候,会发现适配器中getview方法会多次调用,非常浪费浪费资源。或者数据错乱。今天就一起来看下 这个问题。 Listview的子布局最好使用 Listview的子布局中的根布局match_parent替换成fill_parent Listview子布局如下<?xml version="1.0" encoding="utf-8"?> <LinearLayout xml
安卓ArrayAdapter类读取资源文件配…
1、找到我们的res下layout的xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     andro
Spinner加载自定义Adapter
Spinner加载自定义Adapter
Adapter中用不了getWindowManager()方法怎么办?
Adapter中用不了getWindowManager()方法怎么办? Adapter中用不了getWindowManager()这个问题遇到过两次了,还是记录一下吧。 android获取屏幕大小宽度的方法有好多种, 除了getWindowManager以外 // 通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics();
如何做到在adapter中监听实现跳转
第一,自定义中context得传入 Intent语句这样写 Intent intent = new Intent(context,EncryptedActivity.class); 跳转这样写 context.startActivity(intent);
android控件——继承AdapterView的控件无法使用addView方法
今天在写安卓的时候,使用ViewPager,每一个页面都使用到ListView,但是突然又不想写Adapter,然后就像自己添加几个TextView进去就行。谁知道,调用了 AddView方法后报错了。           添加的代码如下:           @Override public Object instantiateItem(View view, int position)
在adapter中对item的某个控件点击,并在点击事件中对其他item控件进行设置
今天做项目的时候遇到了这个问题,现在将解决方案的代码记录下来,以便大家遇到同样的问题时能够方便处理。 final TextView tv_state = holder.tv_download_state; holder.img_stop.setOnClickListener(new OnClickListener() { @Override public void onClic
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java嵌套求学习成绩 机器学习中的数学基础

相似问题

1
Android中的assets目录,如何对其进行文件的删除?
4
获取手机软件商店中某一款APP的评论信息,大佬们给个思路
2
安卓Android stdio,遇到了这个问题,图片
4
android edittext 怎么默认为中文输入法?
1
android有刘海屏,如何获取整个手机屏幕的高度
3
安卓开发中使用FileInputStream一直报错提示找不到文件或不存在
1
Android fragment中引用自定义view报错
0
iconfont中之前上传了很多图标,但是最近打开的时候什么都没有了,请问这是什么原因啊?
0
MediaRecorder录屏,Socket传输录屏内容报错java.lang.IllegalStateException
0
UFI协议中,READ_10指令请求的数据怎么写
5
Android中map最后一行数据覆盖问题,为什么显示的都是map中最后一对数据?
6
Android 怎样将一组json数据的key value对应的放入到listview中显示两列?
0
MTK6572 (android 5.1) MIPI屏的GPIO83不能拉高
0
Android 用 Visualizer 采集播放音乐信息,三星S8上不回调onWaveFormDataCapture 方法。
1
方法中 AccessibilityService accessibilityService 是如何得到的?
0
delphi xe 中 没有 /os/PersistableBundle,该怎么写。
1
android中怎么样能让重叠的多层视图内容半透明同时浮现
3
Android studio报错build failed怎么解决?急,求大神指教
4
app运行在Android 9.0的手机上,闪退,(java.lang.SecurityException)
1
app运行在Android 9.0的手机上,闪退,(java.lang.SecurityException)