Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Monodroid – EditText输入法不接受数字大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Mono for Android中的EditText控件遇到了一些非常奇怪的问题.我的解决方案是针对2.3而我正在调试T Mobile VivaCity.这是我的EditText的AXML

<EditText
    android:inputType="text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/ctl_searchText" />

当我显示包含EditText的视图时,键盘自动出现,这不是问题.问题是我无法通过点击键盘上的数字输入任何数字,唯一可以在文本字段中显示数字的方法是,如果我按住键并从上下文菜单中选择数字.一旦我使用这种方法输入了一个数字,我就无法将其@L_@R_673_11235@_11@.我已经尝试了各种输入方法,并在SO中寻找类似的问题无济于事.这听起来像是设备的问题吗?或者是否有一些明显我在代码/ AXML中没有做的事情?

==编辑==

我认为我已经缩小了问题范围,它与EditText上使用的KeyPress事件处理程序有关.由于EditText表示搜索字段,我添加属性android:singleLine =“true”以停止返回键添加额外的行,而是说“完成”.当我向控件添加一个KeyPress事件处理程序时,这就是它阻止我输入数字,但没有处理程序它再次开始正常运行.这是我有的:

<EditText
    android:id="@+id/ctl_searchText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true" />
EditText ctl_searchText = FindViewById<EditText>(resource.Id.ctl_searchText);

ctl_searchText.KeyPress += (object sender,View.KeyEventArgs E) => 
{
    if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
    {
        Toast.MakeText (this,ctl_searchText.Text,ToastLength.Short).Show ();
        e.Handled = true;
    }
};

使用此代码,我无法在文本字段中输入数字,但我可以输入字母.当我@L_@R_673_11235@_11@事件处理程序时,它再次起作用,允许我输入所有字符.我要继续调查,这很奇怪.

解决方法

请你不要使用 OnKeyListener.如果是,只需检查onKey(View v,int keyCode,KeyEvent event)方法如果监听器已经消耗了该事件则返回True,否则返回false.在你的情况下它是这样的

ctl_searchText.setOnKeyListener(new OnKeyListener() {

        public Boolean onKey(View v,KeyEvent event){
            if (keyCode == KeyEvent.KEYCODE_ENTER){ 
                //do smth
                return true;
            }
            return fasle;
        }
   });

大佬总结

以上是大佬教程为你收集整理的android – Monodroid – EditText输入法不接受数字全部内容,希望文章能够帮你解决android – Monodroid – EditText输入法不接受数字所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。