当用户关闭软键盘然后再次尝试单击/获得焦点在EditText上时,会发生这种情况,只有光标显示才会发生 - 我想再次显示键盘。
我试过了:
注意:我目前正在使用Paranoid Android。 EditText是Multiline。
答案 0 :(得分:3)
我找到了解决方案,我只需删除来自我的EditText的以下属性:
android:textIsSelectable="true"
答案 1 :(得分:0)
请首先省略为EditText定义的任何requestFocus。 如果设置了键盘,则known bug会阻止键盘显示。
如果这对你不起作用,请创建一个焦点监听器并以编程方式打开virt键盘:
editTxt.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
// show keyboard
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
imm.showSoftInput(editTxt, 0);
}
}
});
答案 2 :(得分:0)
这是一个解决方案:
final InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
EditText e= (EditText) findViewById(R.id.editText1);
e.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
imm.showSoftInput(e, InputMethodManager.SHOW_IMPLICIT);
}
});
e.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
if(actionId==EditorInfo.IME_ACTION_GO){
imm.hideSoftInputFromWindow(e.getWindowToken(), 0);
//Do you work here
}
return false;
}
});
并且edittext将是:
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:imeOptions="actionGo"/>