Android强制类型转换发生错误

图片说明
view属于android.support.v7.widget.AppCompatImageView不属于UnfoldableDetailsActivity,各位大神,我不知道应该怎么改了

0

4个回答

先将android.support.v7.widget.AppCompatImageView转换为android.view.View。
如果是后者,代码是可以通过的。

2
baidu_37420328
baidu_37420328 大神,我不会写
2 年多之前 回复
baidu_37420328
baidu_37420328 java.lang.ClassCastException: android.support.v7.widget.TintContextWrapper cannot be cast to Activity
2 年多之前 回复

UnfoldableDetailsActivity activity = (UnfoldableDetailsActivity)view.getContext();
activity.openDetails(view, item);
看看这么写行不行

0
baidu_37420328
baidu_37420328 不行,试过了,谢谢大神,已经放弃这个了,鸡年大吉
2 年多之前 回复

这是 AppCompat 把 Activity 的 ContextWrapper 又包了一层. 一层一层的想办法找到 Activity 就可以了:

    /**
     * try get host activity from view.
     * views hosted on floating window like dialog and toast will sure return null.
     * @return host activity; or null if not available
     */
    public static Activity getActivityFromView(View view) {
        Context context = view.getContext();
        while (context instanceof ContextWrapper) {
            if (context instanceof Activity) {
                return (Activity) context;
            }
            context = ((ContextWrapper) context).getBaseContext();
        }
        return null;
    }

用这个方法是比较保险的.

0

为此写了一篇博客. 可以参考:
http://blog.csdn.net/liuxu0703/article/details/70145168

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
强制类型转换引起的错误
int8 a=1; //全局变量nnint8 b=2; //全局变量nn(int32)a=0xFFFFFFFF;这样会导致b也发生改变。nnint8_t c=3;//全局变量nnint8_t d=4;//全局变量nnshort e; //局部变量nne=((short)(c))<<8|d; //这时为0x0304;没问题nnC语言的 显式/隐式 类型转换,都...
C语言强制类型转换本身值不发生改变
C语言强制类型转换本身值是不会发生改变的nn例如:flaot a = 12.34 ,int b = ( int ) a ,将浮点类型的a强制转换成int类型,a本身并没有发生改变,仍然是那个float类型。nn( int ) a 强制类型转换并赋值在底层实际分四个步骤:nn1.先在另外的地方找一个内存构建一个临时变量 xnn2.将 float a 的值的整数部分赋值给 xnn3.将 x 赋值给 b...
[Android][AS]findViewById强制类型转换快捷键
Android Studio 开发app时, findViewById 输入后多数情况下要强制转换,以下有个快捷的方法:nn在输入 分号;  前, Alt + Enternn注意,如果在 输入 分号之后再按快捷键, 将没有效果。这时需要将光标退回至分号前,然后再按 Alt+Enter.nn nn另外,也可以使用 加 .cast  方法来触发,但是没有 Alt + Enter 方便。nnnfindV...
(+=)运算符中隐藏的强制类型转换问题
* 面试题rnshort s=1, s = s+1; rnshort s=1, s+=1;rn上面两个代码有没有问题,如果有,那里有问题rnrn第一个有问题:rns = s + 1 ;rn默认提升byt,short,char-->int-->long-->float-->double:rns-->int类型:s+1:属于int类型:rn用短整型接收int类型的值:有问题!必须强制类型转换rnrn第
Android中通过泛型解决findViewById需要强制类型转换的问题
参考:rnAndroid开发小窍门通过泛型简化findViewById类型转换rn定义方法rnpublic class BaseActivity extends Activity {rn @Overridern protected void onCreate(Bundle savedInstanceState) {rn super.onCreate(savedInstanceStat...
android 小米手机选择相册图片截取照片不进onActivityResult报“保存时发生错误,保存失败”
小米选择相册时如果不使用系统截屏,直接压缩不会报“保存时发生错误,保存失败”的错误,如果截屏就会报如上错误。需要把URI地址转为图片地址,再包成file文件转为URI Uri uri = intent.getData();n String type = intent.getType();n if (uri.toString().contains("com.miui.ga...
android 视频播放 未知错误
linux的文件名中不能有非法字符,要么去掉要么转义nn文件夹 或者文件名有非法字符,我是用时间字符串做的文件名有: - 等。换成时间戳 解决nn 
红米note系列裁剪图片时报错:保存时发生错误,保存失败!
项目中有需要裁剪图片的功能,使用的是系统裁剪工具,在已有的多个测试机和模拟器上均正常运行,突然有用户说裁剪图片时报如题错误,app没有崩,所以一直没检测到错误日志,统计后发现大部分在红米noto系列报此错误,想当然的以为又是红米rom兼容不好,心中不禁默默问候一遍。由于没有明确的错误日志,只能从这个报错文案下手,看了部分文章说的一些方法,试了之后,对我完全免疫,后来没辙,自己重新写了这块功能实现,...
请描述什么是强制类型转换?什么是自动类型转换?
强制类型转换:在一个类型前面加( ),来强制转换rnrnlong l = 9L;rnrnint i = (int)l;rnrn    自动类型转换:rnrn       int i = 5;rnrn        String str = ""+i;rnrn    向上造型:把范围小的造型为范围大的类型:rnrn    int i = 2;rnrn        long l = i;
android自定义Application类类型转换异常错误
自定义一个Application类,然后在activity类中通过getApplication()获得一个Application的实例:rnmyApp = (MyApp) getApplication();rn但是运行程序的时候一直报类类型转换异常,rn原因是自定义的Application必须在清单文件中注册声明rn即:rn<applicationn android:name="co
Android之常用类型转换
这篇文章是记录我们平时在android开发过程中,经常会用到的类型转换,主要包括String、byte[]、bitmap、inputstram、Drawable之间的转换,代码如下:nnnimport java.io.BufferedReader;nimport java.io.ByteArrayInputStream;nimport java.io.ByteArrayOutputStrea
android studio中findViewById的快捷强制类型转换
我比较喜欢的是suffix 快捷键系列,用起来非常爽,代码重构一气呵成。rn玩法就是,你在输入了一个对象之后,可以通过.xxx的命令+Tab键来完成快速的代码重构,比如object.cast 转型、boolean.if 变成if 结构、int.switch变成switch结构。list.fori 把这个list变成for i 的循环结构。rn比如 要转换一个View 这样输入:rnfindView
c语言强制类型转换
例子:nnn#include &amp;lt;stdio.h&amp;gt;n{nn char cChar; //字符型变量nn short int iShort; //短整型变量nn int ilnt; //整形变量nn float fFloat=70000; //单精度浮点型nnn cChar=(char)fFloat; //强制转换赋值...
Android静态安全检测 -> 强制类型转换本地拒绝服务漏洞
强制类型转换本地拒绝服务漏洞 -nIntent.getXXXExtra()nnn一、APInnn1. 继承关系nnn【1】java.lang.Objectn【2】android.content.Intentnnn2. 主要方法nnn【1】getSerializableExtra(String name)  返回Serializablennn【2】getStr
Java:自动类型转换和强制类型转换的规则
自动类型转换规则:rnrnrnrnrn强制类型转换:rnrnrn代码示例:rnpackage com.jredu.ch02;nnpublic class Ch04 {n n public static void main(String[]args){n //自动类型转换n //基本数据的自动类型转换只有7种数据类型,除了booleann //基本原则:低级别可以直接转高级别n //
JAVA强制类型转换常见错误
这篇文章主要讲解:JAVA强制类型转换经常遇到的问题,主要分为2种情况。n1、当两个类没有继承关系时:npackage Test;nnpublic class Test {n public static void main(String []args) {n C c = new C();n B b = (B) c;n }n}nnclass B extends A {n public voi
GDI+中发生一般性错误
GDI+中发生一般性错误GDI+中发生一般性错误GDI+中发生一般性错误GDI+中发生一般性错误
扩展的赋值运算符隐含着强转(面试题)
/* 扩展的赋值运算符隐含强制转换*/class OperatorDemo { public static void main(String[] args){ //此代码编译会报错:test.java:7: 错误: 不兼容的类型: 从int转换到short可能会有损失 //原因:a+1的类想是int类型,将int类型的数据赋值给short类型的数据会有精度的丢失,故而报错 short a =...
C++:类的自动转换和强制类型转换
C++:类的自动转换和强制类型转换标签(空格分隔): c++ n作者:陈小默C类的自动转换和强制类型转换nC如何处理内置类型转换n构造函数的自动转换n自动转换的条件n自动类型转换的流程n使用explicit关键字关闭隐式类型转换n自动参数匹配与二义性n转换函数n定义转换函数n自动应用类型转换与二义性n避免使用隐式类型转换nC++如何处理内置类型转换C++为内置的基本数据类型提供了自动的转换方式,即使
Java中类型强制转换的问题
类型转换nnnboolean不能转换成其他类型的数据类型n默认转换 nbyte,short,char——int——long——float——doublenbyte,short,char相互之间不转换,参与运算首先转换成int类型n强制转换: n目标类型 变量名 = (目标类型)(被转换的数据)nnnnn损失精度实例nnndouble和float类型nnnnn//double和float类型npub...
xamarin android 发生一个或多个错误
vs2017 开发Android 严重性 代码 说明 项目 文件 行 禁止显示状态 n警告 发生一个或多个错误。 AndroidTest 出现个这样的东东,到底是几个意思,开发工具重启了,也有这个问题呀.
强制类型转换与非强制类型转换后出现的问题
让我意识到这个问题是做了一道求标准差的题目,本来题目要求精度不高,答案却总是相差一些。和室友进行比较,发现大致思路一样,并不是很麻烦要用高精度算法求解的。 n先上代码:#include <stdio.h>n#include <math.h>int main (void)n{n int num,sum,i;n int a[100];n double pro,sum1;n sum
java_强制类型转换、内部类、异常处理
/* n目前多态情况下不能访问子类特有的成员。如果需要访问子类特有的成员,那么需要进行类型强制转换.基本数据类型的转换小数据类型-------->大的数据类型 自动类型转换大数据类型--------->小数据类型 强制类型转换 小数据类型 变量名 = (小数据类型)大数据类型;n引用数据类型的转换小数据类型--------->大数据类型 自动类型转换。大数据类
android4.4获取相册,剪裁后保存失败
我是参考这文章解决的:http://blog.csdn.net/zhanlanmg/article/details/43368585。rn主要是4.4相册选择图片后返回的uri不同,直接上代码:rnrnprivate Uri imageUri;rnrnrn//打开系统相册rnrnFile file = new File(Environment.getExternalStorageDirectory
Android签名机制之---签名验证过程详解
今天是元旦前夕,也是Single Dog的嚎叫之日,只能写博客来祛除寂寞了,今天我们继续来看一下Android中的签名机制的姊妹篇:Android中是如何验证一个Apk的签名。在前一篇文章中我们介绍了,Android中是如何对程序进行签名的,不了解的同学可以转战:http://blog.csdn.net/jiangwei0910410003/article/details/50402000当然在了
强制转换数据库类型
CAST(select 字段 as NVARCHAR(100))
C指针强制类型转换对所指向的数据的影响
学习C指针过程中,受同学启发,思考了一个问题:如果对一个指针的类型进行强制转换(比如将一个指向整型的指针强制转换为指向字符的指针),那么这个指针指向的数据会发生什么样的变化呢? n   下面的代码实现了对指针类型的强制转换,并打印出了指针类型转换前后指针所指向的变量的值: n   #include <stdio.h>void main(void)n{n int *p1;
FLEX强制类型转换
FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换
初始化虚拟机时出错 没有储备足够的堆空间1572864kb对象
android studio报初始化虚拟机时出错  没有储备足够的堆空间1572864kb对象nnnError:Unable to start the daemon process.nThis problem might be caused by incorrect configuration of the daemon.nFor example, an unrecognized jvm
基本类型和对象类型之间的转换消耗
举个例子:Long 和long之间的转换:nnnpublic class Sum {n // Hideously slow program! Can you spot the object creation?n public static void main(String[] args) {n long t1 = System.currentTimeMillis();n Long sum...
强制类型转换与内存对齐问题小结
C语言强制类型转换n nnnnnnn nn nnnnnnn概要:nnC语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的
接口和多态+强制类型转换的概念---达内OOP第八天
1.接口:  1)是一种数据类型(引用类型)  2)由interface定义的  3)接口中只能包含常量和抽象方法  4)接口不能被实例化  5)接口是需要被实现/继承的,实现类/派生类:      必须重写接口中的所有抽象方法  6)一个类可以实现多个接口,用逗号分隔    若又继承又实现时,应先继承后实现  7)接口可以继承接口类和类---------------继承extendsn接口和接口...
JS的类型转换,强制转换和隐式转换
JS的类型转换1.强制转换通过String(),Number(),Boolean()函数强制转换var str=123;n var str1='123';n console.log(typeof str);n console.log(typeof str1);n console.log(typeof String(str));n console.log(typeof Number
printf() 不能进行数据类型转换
#include n#include nint main()n{n int num1 = 1/2;// 0n float num2 = 1/2.0;//0.5整数与实数的结果是实数n float num3 = 3/2.0;//1.5n float num4 = 3/2;//1 整数与整数的结果是整数n printf("%d, %f\n",num1,num1);n printf("%f, %d\n"
python学习笔记,类型转换出错的解决方法!
1、n#号(#):注释n换行(\n):换行n反斜杠(\n):继续上一行n分号(;):两个语句连在一行n冒号(:):将代码块的头和体分开
C语言中关于强制类型转换问题
一、C在以下四种情况下会进行隐式转换nn1.算术运算式中,低类型能够转换为高类型。nn        a.若两种类型的字节数不同,转换成字节数高的类型nn        b.若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型nn2.赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。nn   如果右边量的精度较大,将丢失一部分数据,这样会降低精度,丢失的部分按四...
java数据类型,自动类型转换,强制类型转换
数据类型nJava中数据类型分为两大类nn一种是基本数据类型(值类型)nn整数型: byte short int long nn小数型: float doublenn字符型: char --> 存储字符-->例如字母 'A'nn布尔类型: boolean --> 真和假(现实世界中)ntrue 真 和 false 假nn一种是引用数据类型(引用类型)n数据类型的特殊使
gcc g++ 将所有警告转换为错误
gcc g++ 将所有警告转换为错误rn-Werror 把所有警告转换为错误,以在警告发生时中止编译过程rnrneg.  g++rn var_args.cpp --std=c++11 -Werror rnrnrnrnrn其他错误与告警选项rnrnrn    -Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告。也可以用-W{warning}来标记指定的警告。rnrn    -peda
Android笔记 - android 类型转化错误
java.lang.ClassCastException
java——强制类型转换数据溢出的结果计算
强制类型转换数据溢出计算:n在开发中我们经常会遇到数据溢出问题,那么问题来了,溢出得到的结果是怎么计算的呢??n小贴士:我们知道计算机中的数据以字节的形式存储,一个字节又分出8位地址空间,用来存储1和0二进制数据。n我们在计算机上看到的其实是其原码形式,计算机是以二进制数的补码进行处理运算的。nok就说得到这,下面来个案例说明问题!!!nbyte a = (byte)130;nn nn nn我们知...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java容易犯的错误 android手游开发视频