小编Lin*_*ina的帖子

java.lang.IllegalArgumentException:平台类 java.time.LocalDateTime (没有注释)需要显式 JsonAdapter

在以下网址中参考我的问题:\n将 minsdk 更改为 26 并使用带有 android 9 的模拟器\n出现以下错误

\n\n
E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-4\n    Process: com.app.homecraft, PID: 28831\n    java.lang.IllegalArgumentException: Platform class java.time.LocalDateTime (with no annotations) requires explicit JsonAdapter to be registered\n    for class java.time.LocalDateTime birthDay\n    for class com.app.homecraft.swagger.client.models.UsersData\n        at com.squareup.moshi.Moshi$LookupChain.exceptionWithLookupStack(Moshi.java:348)\n        at com.squareup.moshi.Moshi.adapter(Moshi.java:149)\n        at com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory.create(KotlinJsonAdapter.kt:241)\n        at com.squareup.moshi.Moshi.adapter(Moshi.java:137)\n        at com.squareup.moshi.Moshi.adapter(Moshi.java:97)\n        at com.squareup.moshi.Moshi.adapter(Moshi.java:71)\n        at io.swagger.client.apis.MobileApi.apiMobileUsersGetByFireBaseIDGet(MobileApi.kt:4708)\n        at com.app.homecraft.ui.user.Authentication$signIn$1$1.invokeSuspend(Authentication.kt:87)\n        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)\n        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)\n        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)\n        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)\n     Caused by: java.lang.IllegalArgumentException: Platform class java.time.LocalDateTime (with no annotations) requires explicit JsonAdapter to be registered\n        at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:60)\n …
Run Code Online (Sandbox Code Playgroud)

android kotlin

5
推荐指数
1
解决办法
6002
查看次数

在底部导航视图中选择的每个项目下方添加一行

我想在选择每个底部导航视图项目的项目下方放置一个线。如下图所示,但是我没有找到方法。我创建了一条形状线 line.xml,如下所示:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke android:width="6dp" android:height="2dp" android:color="@color/honey"/>
    <corners android:radius="5dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

我创建一个选择器checked_uncheked.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/line" android:state_checked="true"/>
    <item android:drawable="@color/white" android:state_checked="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

"app:itemBackground="@drawable/line"在bottomNavigation下面添加了,仍然没有结果

在此输入图像描述

android kotlin bottomnavigationview

4
推荐指数
1
解决办法
3679
查看次数

如何使用 kotlin 将服务器时间转换为本地时间?

我从服务器获取时间,我想将其更改为本地区域,如何使用 Kotlin 做到这一点?
来自服务器的时间就像“2020-09-01T13:16:33.114Z”
这是我的代码:

  

val dateStr = order.creationDate
val df = SimpleDateFormat("dd-MM-yyyy HH:mm aa", Locale.getDefault())
df.timeZone = TimeZone.getDefault()
val date = df.parse(dateStr)
val formattedDate = df.format(date)
textViewDateOrderDetail.text = formattedDate

Run Code Online (Sandbox Code Playgroud)

order.creationDate : 来自服务器的时间

timezone android kotlin

2
推荐指数
1
解决办法
4142
查看次数

如何使用 Kotlin 使状态栏完全透明并带有深色文本颜色

我使用 Kotlin 创建一个 Android 应用程序,我想知道如何使用 Kotlin 使状态栏完全透明,并带有深色文本颜色 我看到了以下解决方案,但对我不起作用 带有不透明导航栏的深色文本透明状态栏 这是我的以下代码:

   if (VERSION.SDK_INT in 19..20) {
            setWindowFlag(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, true)
        }
        if (VERSION.SDK_INT >= 19) {
            window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        }
        if (VERSION.SDK_INT >= 21) {
            setWindowFlag(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, false)
            window.statusBarColor = Color.TRANSPARENT
        }
Run Code Online (Sandbox Code Playgroud)

这是 style.xml 中的自定义样式:

<style name="MyStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowLightStatusBar">true</item>
    <item name="android:navigationBarColor">@android:color/black</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

和我的 xml 代码:

<..... android:fitsSystemWindows="true" ....>

 <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="189dp"
        app:elevation="0dp"
        android:theme="@style/MyStyle" ....>
Run Code Online (Sandbox Code Playgroud)

我想知道我的代码中的问题出在哪里以及如何纠正它以使状态栏完全透明并带有深色文本颜色

android kotlin android-statusbar

1
推荐指数
1
解决办法
1451
查看次数