我创建了一个项目,其中有一个扩展片段的类,其中框架布局包含两个编辑文本。这里的问题是每当我点击/触摸任何编辑文本时,我不想弹出的软输入键盘弹出窗口。我尝试了以下方法来禁用软输入键盘。
在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>
提前致谢。
答案 0 :(得分:1)
感谢您的帮助,我已经解决了我的问题,但对解决方案并不完全满意,因为我用于没有弹出软输入键盘的是为编辑文本设置setInputType(0)
,即
screen_v1.setInputType(0);
类似于其他edittext但这里的问题是在edittext上使用上述方法之后,在任何一个edittext上都看不到光标。 所以,如果任何人有任何理由发生这种情况,请帮助我。
由于