Android开发:android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText;使用Fragment时不同引入包的问题解决
一、问题记录
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gb.wofei/com.example.gb.wofei.LoginActivity}: java.lang.ClassCastException:
android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText
二、问题解决
1、更换引入包:
在使用Fragment做底部导航栏时遇到了这个问题,查了资料发现在引入jar包时要引入import android.app.Fragment;,不能引入import android.support.v4.app.Fragment;。
在引入后者时,代码中不会报错,但运行程序时则会报以上错误。
2、清理项目:
Android项目中要经常clean项目,清除缓存和编译,有时候常常因为缓存导致修改不生效。
三、拓展整理
1、查了一些资料发现,android.app.Fragment和android.support.v4.app.Fragment两个包:
前者较为简单,后者较为复杂,且两个包的Fragment不兼容,不能混合使用,导错了包就会引发运行错误。
2、区别整理
android.app.Fragment | android.support.v4.app.Fragment | |
最低支持版本不同 |
android:minSdkVersion="11" 即3.0版 |
android:minSdkVersion="4" 即1.6版 |
获取方法不同 | Fragmentmanager fragmentManager = getFragmentManager(); | FragmentManager fragmentManager = getSupportFragmentManager(); |
XML标签的使用 | 可以使用<fragment>标签 | 不能使用<fragment>标签,会抛出android.view.InflateException: Binary XML file line #7: Error inflating class fragment异常 |
__EOF__

本文作者:我命倾尘
本文链接:https://www.cnblogs.com/guobin-/p/13194907.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/guobin-/p/13194907.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?