【发布时间】:2020-05-19 05:20:31
【问题描述】:
我想要 MVVM 模式中的权限可见性
我的 ViewModel 代码:
private val _permissionVisibility = MutableLiveData<Boolean>(ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS) != PERMISSION_GRANTED)
val permissionVisibility: LiveData<Boolean>
get() = _permissionVisibility
fun permissionDialog() {
val permissions = arrayOf(Manifest.permission.BLUETOOTH, Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.READ_CONTACTS)
val REQUEST_PERMISSION_LIST = 2222
ActivityCompat.requestPermissions(activity!!, permissions, REQUEST_PERMISSION_LIST)
}
我的 XML 代码:
android:visibility="@{ViewModel.permissionVisibility ? View.VISIBLE : View.GONE}"
app:onSafeClick="@{()-> ViewModel.permissionDialog()}"
我想要什么:
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray)
在片段中回调,而不是在活动中 这个回调值作为一个活动进来
我不知道如何从这里的碎片中得到它
你能帮帮我吗?
【问题讨论】:
-
如果你想让Fragment获取回调,那么不要使用Activity调用它,使用Fragment。
标签: android android-fragments kotlin permissions