Java 在Android Studio中,当在键盘上按两次enter键时,如何不切换开关
在editText“textbox”上按两次enter键时,第一次按将像往常一样提交按钮,但第二次按将切换开关。如何确保开关不被切换Java 在Android Studio中,当在键盘上按两次enter键时,如何不切换开关,java,android,android-studio,kotlin,android-switch,Java,Android,Android Studio,Kotlin,Android Switch,在editText“textbox”上按两次enter键时,第一次按将像往常一样提交按钮,但第二次按将切换开关。如何确保开关不被切换 <com.google.android.material.textfield.TextInputEditText android:id="@+id/textbox" android:layout_width="match_parent" android:la
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/textbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters" />
<Switch
android:id="@+id/switch"
android:layout_width="match_parent"
android:layout_height="30dp"
android:checked="false"
android:gravity="left" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="16dp" />
您可以将其设置为不可单击,或者确保其保持相同的isChecked状态,这两种方法都可以工作
switch.setOnKeyListener(object : View.OnKeyListener{
override fun onKey(v: View?, keyCode: Int, event: KeyEvent?): Boolean {
if (event?.action == KeyEvent.ACTION_DOWN){
when(keyCode){
KeyEvent.KEYCODE_ENTER ->{
// switch.isClickable = false
if (!switch.isChecked){
!switch.isChecked
}else{
switch.isChecked
}
return true
}
}
}
// switch.isClickable = true
return false
}
})