我已经开始在 Kotlin 中开发一个新的 Android 应用程序,实际上在我的 Activity 中我有一个带有两个 EditText
的片段,如果在我的首选项中我没有启用首选项“键盘”,我不应该t 在那些 EditTexts
上显示虚拟键盘。
所以我试图做一些事情,比如将 showSoftInputOnFocus 设置为 false,因为它是另一个问题的解决方案,但它不起作用,所以我的代码如下所示:
片段.kt
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
val keyboard = sharedPref.getBoolean("keyboard", true)
Toast.makeText(activity, keyboard.toString(), Toast.LENGTH_LONG).show()
val qtaTxt = view.findViewById<EditText>(R.id.qtaTXT)
if (!keyboard) {
qtaTxt.showSoftInputOnFocus = false //here i must disable the virtual keyboard
}
view.findViewById<Button>(R.id.btnArticoli).setOnClickListener {
findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment)
}
}
答案 0 :(得分:3)
最好的解决方案是在项目清单文件(AndroidManifest.xml)中,在活动构造中添加以下属性
<activity android:name=".MainActivity"
android:windowSoftInputMode="stateHidden" />