大家下午好,我有一个问题,我想知道是什么原因造成的
我的主要活动。kt
package com.example.albumapp.ui
import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.example.albumapp.R
import com.example.albumapp.data.PostModel
import com.example.albumapp.viewmodel.HomeViewModel
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
lateinit var adapter: HomeAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
**var vm = ViewModelProvider(this)[HomeViewModel::class.java]**
initAdapter()
vm.fetchAllPosts()
vm.postModelListLiveData?.observe(this, Observer {
if (it!=null){
rv_home.visibility = View.VISIBLE
adapter.setData(it as ArrayList<PostModel>)
}else{
Toast.makeText(this, "Failed", Toast.LENGTH_SHORT).show()
}
progress_home.visibility = View.GONE
})
}
private fun initAdapter() {
adapter = HomeAdapter(this)
rv_home.layoutManager = LinearLayoutManager(this)
rv_home.adapter = adapter
}
}
视图模型。kt
class HomeViewModel {
private var homeRepository:HomeRepository?=null
var postModelListLiveData : LiveData<List<PostModel>>?=null
init {
homeRepository = HomeRepository()
postModelListLiveData = MutableLiveData()
}
fun fetchAllPosts(){
postModelListLiveData = homeRepository?.fetchAllPosts()
}
}
我想知道为什么会导致类型不匹配,你如何修复这种类型不匹配?(两颗星的线是问题的原因)
您的HomeViewModel应该像这样扩展ViewModel
class HomeViewModel : ViewModel() {
}
那就试试这个
var homeViewModel =
ViewModelProvider(this).get(HomeViewModel::class.java)
我正在学习如何解析一个JSON,并使用数据将其放入回收视图列表中,我正在片段中完成。这让很多人头疼,也有各种各样的错误。第一个是上下文!这是GroupFragment.kt文件内容: 当我运行这个时,我得到了类型不匹配:推断的类型是GroupsFragment,但上下文!这是意料之中的。 在我的UserListAdapter.kt我试图加载userlist_row,我也找不到这个布局资源,即使文件
我试图构建查询投影,我遇到了以下错误消息: 导致问题的代码: 方法需要类型
如果我这样编码,我会得到类型不匹配错误(推断的类型是Query?但应该是CollectionReference?)。。。
我对Kotlin是新来的,这是我的问题: 我使用android studio 3.2.1 kotlin版本:1.2.71 对此有什么想法吗?
我有错误“类型不匹配:推断类型是字符串!但单位是预期的”,但如果我尝试使用快速修复,我会使用该错误进行无限循环,并且“返回类型的'run'不是被覆盖成员[...]的返回类型的子类型”,同时在这些文件中使用此代码: ClockViewModel.kt: ClockFragment.kt: 我希望显示文本并每秒更新一次。