skywolfwen
skywolfwen
> 我这边测试,键盘弹出使用页面有压缩啊 我这边试都是无效的,换成 NestedScrollView 就可以,设置成 android:windowSoftInputMode="adjustPan" 也可以,只是会把整个布局顶上去罢了
> 你使用的是4.0.0版本吗?是不是键盘挡住了布局,你没有手动滑一下啊。 我用的是2.6.0版本,因为从2.6.0后的版本滑动都没有2.6.0流畅,我就没升级,不过4.0.0我也试了,也是一样,当软键盘弹出后倒是可以滑动,但却没有移动到输入框的位置,而是感觉键盘直接覆盖了界面似的
> @skywolfwen 如果不用框架进行解析,你在 data class 定义的默认值是否也能生效? 那不行,默认的gson不支持这个功能
> > > @skywolfwen 如果不用框架进行解析,你在 data class 定义的默认值是否也能生效? > > > > > > 那不行,默认的gson不支持这个功能 > > 我的意思是不用解析框架,直接 new 一个 data class 对象默认值是否能生效? new 的对象默认值是生效的
@getActivity 我发现好像是因为有些属性有默认值,有些属性没有默认值才有这个问题,如果属性都有默认值那解析也是没问题的
> > @getActivity 我发现好像是因为有些属性有默认值,有些属性没有默认值才有这个问题,如果属性都有默认值那解析也是没问题的 > > 没听懂你这句话是什么意思? 就是一个data class里,并不是所有属性都设置了默认值,有些属性是需要在创建对象时必须明确传值的,这种data class在agp 8.7.0然后开启代码混淆的情况下使用框架解析默认值会失效,但如果所有属性都设置了默认值那在同等条件下使用框架解析默认值是生效的
> 我测试发现是没有问题的,data class 默认值都是生效的。 Android Studio 是最新的 Ladybug 这个版本,build.gradle 中是8.7.0,gradle-wrapper.properties 中是8.9。如果在这种环境下您测试还是没问题,那我过两天给您发个demo
@getActivity [GsonDemo.zip](https://github.com/user-attachments/files/17454762/GsonDemo.zip) 试试这个demo可以复现不 
> 你这种写法本身存在问题,userId 是不可变的常量,类型为 String 的写法代表值不能为空,但是你在 data class 类中字段上面没有给它赋值。 因为想要的效果是这个属性值完全由接口返回值来赋值。不过即便这种写法有问题,那框架在agp 8.5.0下也能赋上默认值,估计是升级插件版本后某些东西被混淆了,因为安装包都比以前小了些。当然如果您觉得这样不算是bug,那我也可以都加上默认值避免这个问题,只是不知道能否在文档里说明一下
> 我最近针对这个问题进行了反复测试和验证,最终得出以下结论: > > 1. 这个问题出现 Gradle Android 插件(高版本名称为 `com.android.application` 低版本名称为 `com.android.tools.build:gradle`)在 `8.6.0` 及以上的版本会出现,之前的版本不会出现,例如 `8.5.0` 版本不会有该问题,另外这个问题和纯 Gradle 版本没有关系,只和 Gradle Android 插件有关系。 > 2. 问题出现的原因是在于,这个 Gradle Android 高版本的插件会去除 kotlin data class...