要在Kotlin中的Fragment中获取活动的ViewModel,可以按照以下步骤进行操作:
import androidx.lifecycle.ViewModel
class MainViewModel : ViewModel() {
// ViewModel的数据和逻辑
}
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProviders
class MainActivity : AppCompatActivity() {
private lateinit var viewModel: MainViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
}
}
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
class MyFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 获取活动的ViewModel
viewModel = ViewModelProviders.of(activity!!).get(MainViewModel::class.java)
}
}
通过上述步骤,您可以在Kotlin的Fragment中获取活动的ViewModel实例。请注意,您需要使用ViewModelProviders.of()方法来获取ViewModel实例,并且需要指定所需的ViewModel类。