gpt4 book ai didi

android - 如何在多个 EditText 上禁用键盘

转载 作者:行者123 更新时间:2023-11-29 16:47:03 24 4
gpt4 key购买 nike

我有一个将 转换为 厘米 的应用程序,很简单,对吧?

所以我有两个部分。一个是小键盘,另一个是两个 edittext 框。

我用的是我自己的键盘,所以安卓键盘显示不出来。

我查看了各种答案,但它们似乎都不适合我。

This 问题问同样的事情,我实现了选定的答案,但 edittexts 表现得很奇怪。

enter image description here

第一个似乎像我希望的那样工作,但不知何故其他文本不会成为焦点。

我尝试点击它但没有任何反应。焦点不会从第一个开始。

我尝试了什么

    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"/>

API 21 或 >21

如果您有两个编辑文本(假设是 editText1 和 editText2)并且您想使用自己的自定义键盘,那么请使用此解决方案。

 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.

这里

关于android - 如何在多个 EditText 上禁用键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com