gpt4 book ai didi

java - 软输入键盘没有隐藏在 edittext 上

转载 作者:行者123 更新时间:2023-11-30 00:09:28 25 4
gpt4 key购买 nike

我创建了一个项目,其中有一个扩展 fragment 的类,其中框架布局包含两个编辑文本。这里的问题是每当我单击/触摸任何编辑文本时,我不想弹出的软输入键盘弹出窗口。我尝试了以下方法来禁用软输入键盘。

androidmanifest.xml 文件中,我还使用了属性 android:windowSoftInputMode="stateHidden"

public class Convert extends Fragment{ 

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
final ViewGroup viewGroup = (ViewGroup) inflater.inflate(R.layout.converter_data_layout, container, false);

screen_v1 = (EditText) viewGroup.findViewById(R.id.data_value1);
screen_v2 = (EditText) viewGroup.findViewById(R.id.data_value2);

screen_v1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
hideKeyboard(getContext());
}
});

screen_v2.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
hideKeyboard(getContext());
}
});

return viewGroup;
}

public void hideKeyboard(Context context){
InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
View view = ((Activity)context).getCurrentFocus();
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}

我的xml文件代码

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="rahuldadoriya.mathsolver.convert.Convert"
android:id="@+id/frame_data">
<EditText
android:maxLength="15"
android:id="@+id/data_value1"
style="@style/EdittextStyle"
android:layout_weight="2.8"
android:gravity="right"
android:paddingRight="15dp"
android:paddingTop="25dp"
android:inputType="numberDecimal"
android:clickable="true"/>

<EditText
android:maxLength="15"
android:id="@+id/data_value2"
style="@style/EdittextStyle"
android:layout_weight="2.8"
android:gravity="right"
android:paddingRight="15dp"
android:paddingTop="25dp"
android:inputType="numberDecimal"
android:clickable="true"/>
</FrameLayout>

提前致谢。

最佳答案

感谢您的帮助,我已经解决了我的问题,但对解决方案并不完全满意,因为我用于不弹出软输入键盘的方法是为两者设置 setInputType(0)编辑文本,即

screen_v1.setInputType(0);

与其他 edittext 类似,但这里的问题是在两个 edittext 上使用上述方法后,光标在任何一个 edittext 上都不可见。因此,如果有人知道为什么会发生这种情况,请帮助我。

谢谢

关于java - 软输入键盘没有隐藏在 edittext 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48378442/

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