【Android上点击EditText将不会显示软键盘】将相本无种,男儿当自强。这篇文章主要讲述Android上点击EditText将不会显示软键盘相关的知识,希望能为你提供帮助。
它发生在用户关闭软键盘然后再次尝试单击/获得焦点在EditText上时,只有光标显示没有任何反应 - 我想再次显示键盘。
我试过了:
- 使用onclick事件
- 使用focuschanged事件
- 更改EditText的属性(可聚焦等...)
答案我找到了解决方案,我只需从EditText中删除以下属性:
android:textIsSelectable="true"
另一答案请首先省略为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);
}
}
});
另一答案这是一个解决方案:
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"/>
推荐阅读
- 如何在iPhone或Android上打开WhatsApp打开数字,如+55(51)9988-7766
- 如何使用普通的POST请求将文件发送到apps脚本()
- 如何在Android中获取语言列表
- Android 7本地化问题
- Android - 显示不同日期格式的月份名称
- 阿拉伯语言可能不会在Android Studio 2.3 XML预览中显示
- Apple Watch基本本地化显示错误的默认语言
- Android(如何在build.gradle中获取资源字符串以支持多种语言的多种口味())
- Android多语言支持(由于占位符计数不同导致的字符串格式问题)