看一下这个例子:
public class TestEditSoftKbdActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.editText1).setFocusable(false);
findViewById(R.id.editText1).setClickable(false);
findViewById(R.id.editText1).setEnabled(false);
findViewById(R.id.editText1).setFocusable(true);
findViewById(R.id.editText1).setClickable(true);
findViewById(R.id.editText1).setEnabled(true);
findViewById(R.id.editText1).invalidate();
findViewById(R.id.editText1).requestLayout();
}
}
在这一系列调用之后,编辑文本视图在被触摸时将不再弹出其软输入法:(
有人可以解释这里出了什么问题吗?
答案 0 :(得分:0)
如果要关闭文本视图的软键盘,请按this link。这是一个适合您的解决方案。但是你需要定义自己的TextView才能做到这一点。他建议使用;
public class NoImeEditText extends EditText {
public EditTextEx(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onCheckIsTextEditor() {
return false;
}
}
希望它有效。