升级AndroidStudio3.3后PullLoadMoreRecycleView闪退问题

本文详细解析了在升级Android Studio后,使用PullLoadMoreRecycleView导致的闪退问题。通过更新到AndroidX并调整相关配置,成功解决了资源ID找不到的错误,实现了项目正常运行。

升级AndroidStudio后PullLoadMoreRecycleView闪退问题

PullLoadMoreRecycleView是一个挺不错的下拉刷新,上拉加载的刷新库。但是已经很久没有更新了.

今天要开发新功能,发现使用了PullLoadMoreView的列表界面就会闪退,一路debug进入到源码内部,(一般源码不会出现问题,可能项目的环境更新了之后,旧版本的recycleView就不能使用)

问题出在inflate中,直接闪退。
提示找不到resourceID。

    public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) {
        final Resources res = getContext().getResources();
        if (DEBUG) {
            Log.d(TAG, "INFLATING from resource: \"" + res.getResourceName(resource) + "\" ("
                    + Integer.toHexString(resource) + ")");
        }

        final XmlResourceParser parser = res.getLayout(resource);
        try {
            return inflate(parser, root, attachToRoot);
        } finally {
            parser.close();
        }
    }

遇到源码的问题,只能更新recycleView了。

在最新的Google项目架构指南中推荐大家使用AndroidX代替supoort包。

意思是以后不再使用supoort的形式推出新的扩展了,新的扩展都放在了AndroidX中,我想可能是为便于管理吧。

升级到AndroidX传送门

升级到AndroidX之后会将所有的support库中使用到的相关控件都迁移到androidx包下

那么问问题就来了,三方库的引用怎么办???

这种情况编译、运行时候会报错,根据相关的报错查找那部分的库出问题,升级到最新版本。一些维护积极的库都已经更新到了最新版本,比如Butterknife-10.1.0,在更新到最新版之后记住更新JDK的版本

android {
  ...
  // Butterknife requires Java 8.
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

遇到了很久没有更新的三方库怎么办,就像PullLoadMoreRecycleView

  • 你可以给作者提issue或者邮提示更新
  • down下来源码,moudle依赖,

PS:如果提示gradle的相关问题,可以升级一下gradle的版本,

项目根目录下gradle-wrapper.properties文件更新gradle到最新版本。

#Wed Aug 21 14:54:19 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

项目build.gradle中升级gradle到最新版本(3.4.2)

  dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

最后编译、运行。
一切都是原来的模样。

有问题,联系我啊 !

xpg@alphathink.org

image

根据引用\[1\]和引用\[2\]的信息,当你在Android Studio中加载本地图片时,可能会遇到闪退问题。这个问题可能是由于代码中的错误导致的。例如,在你的代码中,当你点击按钮进行计算时,需要获取EditText的值。然而,如果你将获取EditText的值的代码写在计算按钮之外,那么在加载类的时候,EditText可能会获取到空值,从而导致闪退。你可以检查一下你的代码,确保在获取EditText的值之前,EditText已经被正确初始化并且不为空。另外,你还可以查看AndroidManifest文件,确保你声明的类与代码中的类一致,以避免出现闪退问题。如果问题仍然存在,你可以尝试重写代码并进行人工调试,以找出导致闪退的具体原因。 #### 引用[.reference_title] - *1* *3* [升级AndroidStudio3.3PullLoadMoreRecycleView闪退问题](https://blog.csdn.net/u012782882/article/details/99969438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [androidstudio安装的app打开闪退,AndroidManifest中也声明了类,但是却没有报错信息。(小坑)](https://blog.csdn.net/zhangtao2247274465/article/details/129330161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值