Android 如何在多个编辑文本上禁用键盘
我有一个应用程序可以将米转换成厘米,很简单,对吗 所以我有两个部分。一个是键盘,另一个是两个Android 如何在多个编辑文本上禁用键盘,android,Android,我有一个应用程序可以将米转换成厘米,很简单,对吗 所以我有两个部分。一个是键盘,另一个是两个edittext框 我用的是我自己的键盘,所以安卓键盘的出现毫无意义 我看到了各种各样的答案,但它们似乎对我不起作用 问题问了同样的问题,我实现了选定的答案,但编辑文本的行为异常 第一篇文章看起来像我希望的那样有效,但不知何故,另一篇文章无法聚焦 我试着点击它,但什么也没发生。焦点不会从第一个开始 我尝试的 findViewById(R.id.lengthConverterSecond).set
edittext
框
我用的是我自己的键盘,所以安卓键盘的出现毫无意义
我看到了各种各样的答案,但它们似乎对我不起作用
问题问了同样的问题,我实现了选定的答案,但编辑文本的行为异常
第一篇文章看起来像我希望的那样有效,但不知何故,另一篇文章无法聚焦
我试着点击它,但什么也没发生。焦点不会从第一个开始
我尝试的
findViewById(R.id.lengthConverterSecond).setOnTouchListener(this);
findViewById(R.id.lengthConverterFirst).setOnTouchListener(this);
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
这种奇怪的行为是怎么回事
我上述问题的解决方案是什么
更新
我试过这个
以防万一
findViewById(R.id.lengthConverterSecond).setOnFocusChangeListener(this); findViewById(R.id.lengthConverterFirst).setOnFocusChangeListener(this);
@Override
public void onFocusChange(View view, boolean b) {
if(b){
InputMethodManager im=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
assert im != null;
im.hideSoftInputFromWindow(view.getWindowToken(),0);
}
}
这根本不起作用,好像它不会隐藏键盘,但我在上面看到的奇怪行为现在不会发生。对于minSdk=8和maxSdk=23
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="false"/>
此处为minSdk=8和maxSdk=23添加了检查更新的代码
公共布尔onTouch(View-View,MotionEvent-MotionEvent){switch(View.getId()){case R.id.lengthConverterFirst:{View.requestFocus();}case R.id.lengthConverterSecond:{View.requestFocus();}}返回true;}
这对我有用吗^
EditText editText1 = findViewById(R.id.editText1);
EditText editText2 = findViewById(R.id.editText2);
editText1.setShowSoftInputOnFocus(false); // add this if you dont want default keyboard when you tap on editText1.
editText2.setShowSoftInputOnFocus(false);// add this if you dont want default keyboard when you tap on editText2.