我有一个EditText,因为我在我的应用程序中使用自定义键盘,我已禁用标准的Android键盘。 不幸的是现在似乎我无法使用复制粘贴,选择等当我点击Jelly Bean中的EditText时,在Gingerbread中我的编辑文本具有所需的行为。
我只需要禁用Android键盘来使用我的自定义键盘,但其他复制粘贴操作,选择等必须是活动的
我该如何解决这个问题?
我的EditText是这样的:
<EditText
android:id="@+id/input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:autoText="false"
android:background="@color/light_sky"
android:cursorVisible="true"
android:editable="true"
android:gravity="left"
android:imeOptions="flagNoEnterAction|flagNoExtractUi"
android:scrollbars="none"
android:singleLine="true"
android:textSize="32dip" />
答案 0 :(得分:3)
您可以在EditText中设置一个空输入。
如果是其他情况,您可以阻止键盘显示只需在清单中使用
android:configChanges="orientation|keyboardHidden"
通过这种方式,Android键盘不会自动打开,但只有在您直接点击EditText
时才会显示答案 1 :(得分:2)
在此主题https://stackoverflow.com/a/10636686/2558337的基础上,我认为您应该@Override
onClickListener
inputField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
答案 2 :(得分:1)
你甚至可以试试这个
声明一个InputMethodManager变量private InputMethodManager imm;
在onActivityCreated()
方法中添加以下行
// to hide the keypad
imm = (InputMethodManager) getActivity().getBaseContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(inputSearch.getWindowToken(), 0);
要取消隐藏,请使用以下代码
editText = (EditText) getView().findViewById(R.id.editText);
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
imm.showSoftInput(inputSearch, 0);
}
});