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.Fragmentandroid.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 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   我命倾尘  阅读(2003)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示