应用程序的活动没有像textview,EditText,button那样的小部件。
我想通过编程方式实现这一目标。(运行时) 我成功地使用以下代码显示系统键盘。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(getWindow().getDecorView(), 0);
我想显示数字键盘而不是qwerty默认键盘。
任何人都可以知道如何实现这个目标吗?
答案 0 :(得分:1)
借助自定义视图,您可以实现这样的效果,通常使用InputMethodManager可以显示键盘。此管理器将委托输入到InputConnection,然后将其委托给InputMethod。
所以制作一个像这样的自定义视图..
public class MyCustomView extends View {
..your methods here..
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
outAttrs.inputType |= InputType.TYPE_CLASS_NUMBER;
return inputConnection;
}
}
希望这会有所帮助..
答案 1 :(得分:0)
您无法将inputType设置为InputMethodManager。但我遇到的解决方法是在布局中放置一个edittext并将inputType设置为xml中的Number并隐藏该视图。然后在运行时使用此edittext显示数字键盘。 喜欢:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(your_edittext, 0);
答案 2 :(得分:0)
你可以试试这个
edittext.setInputType(InputType.TYPE_CLASS_NUMBER);