如何让EditText 弹出输入法之后显示的是数字键盘,但可以接受数字和字母的输入

就是然一个EditText可以接受数字和字母的输入,但是获取焦点后弹出的输入法要是数字键盘,但是用户可以改成全键盘。
我看到的方法大多是设置inputType或是使用digits属性,但是这两属性都是对输入内容和输入法样式都进行了修改,没办法实现上面的效果。
求各位大牛有什么方法,还是这种效果是没法实现啊?

阅读 9.5k
2 个回答

布局

 <EditText
        android:id="@+id/limit_edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/dimen_basic4"
        android:ellipsize="end"
        android:hint="哈哈哈"
        android:singleLine="true" />

代码

        EditText editText = (EditText) findViewById(R.id.limit_edittext);
        String digists = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        editText.setKeyListener(DigitsKeyListener.getInstance(digists));

@wangxinarhat 5.0系统测试, 上述方法不可行, 显示效果为数字键盘, 但是不能切换成字母输入.
参考下stackoverflow相似的问题, 结论是不行, 如果你想同时可以输入数字和字母就不能限制输入类型, 而手动指定软键盘弹出时的输入类型没有找到相关的方法, 楼主找到了吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题