小编Mar*_*ean的帖子

为什么我无法解析这个日期格式 yyyy-MM-dd'T'HH:mm:ss.SSSZ?

我正在尝试将字符串 date 解析为 date 。我的字符串日期是:2021-12-16T11:00:00.000Z。

我有以下代码将其解析为日期对象:

val stringDate = "2021-12-16T16:42:00.000Z"
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
var consultationDate = sdf.parse(stringDate)
Run Code Online (Sandbox Code Playgroud)

我不断收到此错误:

java.text.ParseException: Unparseable date: "2021-12-16T11:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)

android date date-parsing kotlin

5
推荐指数
2
解决办法
3万
查看次数

为什么 livedata 观察会触发两次?

我有一个在片段上调用的 livedata 对象。第一次工作正常,它只触发一次,但第二次我输入片段时它触发两次,不明白为什么。

这就是我所说的观察:

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
    return inflater.inflate(R.layout.activity_train_with_famous_detail, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    setupUi(view)
    (activity as TrainingWithFamousActivity).hideToolbar()
    setupListCategoryVideos(view)
    viewModel.getVideosData()
    viewModel.videosData.observe(viewLifecycleOwner, Observer {
        //second time I enter the fragment it triggers his twice
        videoCategoryAdapter.loadItems(it)
    })
    viewModel.videoSelected?.let { loadTrainWithFamousDetailsData(it) }
}
Run Code Online (Sandbox Code Playgroud)

这是我的视图模型中的方法:

val videosData = MutableLiveData<List<DtoCelebrityResource>>()
fun getVideosData() {
    showLoader()

    trainingWithFamousUseCase
        .build(this)
        .executeWithError({
            videosData.value = it
            hideLoader()
        }, {
            hideLoader()
        })
}
Run Code Online (Sandbox Code Playgroud)

android mvvm kotlin android-livedata

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

标签 统计

android ×2

kotlin ×2

android-livedata ×1

date ×1

date-parsing ×1

mvvm ×1