纯心执念 2021-10-19 10:38 采纳率: 50%
浏览 40

想问一下,为什么Android中的页面使用EditText时,可以输入任何字符串唯独数字无法输入?本来是可以的,就很奇怪,百思不得其解?

#Android开发 #Java代码
想问一下,为什么Android中的页面使用EditText时,可以输入任何字符串唯独数字无法输入?本来是可以的,就很奇怪,百思不得其解?
相关代码如下:

  activity_main.xml配置文件页面
        <EditText
                android:id="@+id/et_message"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:hint="请输入sn号" />

  MainActivity.java中
         EditText **et_message**;
         **et_message** = (EditText) findViewById(R.id.et_message);
          //连接数据,根据sn获取
        bt_connect.setOnClickListener(v -> {
            String str = **et_message**.getText().toString();
            String connectStr = JSON.toJSONString(SocketSourcePool.DEV_CONNECT_MAP.get(str));//原始版本
            String connectStr2 = JsonToolsUtil.printJson(connectStr,str);//JSON转义版本
            logger.info("connectStr : {},{}", connectStr, Environment.getRootDirectory());
            tv_newMsg.setText(connectStr2);
        });

具体情况入下图所示,页面上在EditText中可以输入别的字符串,数字无法输入,而我需要输入数字,尝试过将inputType设置为number仅输入数字时也无法输入数字,就很奇怪。

img

希望哪位可以指点一下,不胜感激,谢谢!

  • 写回答

2条回答 默认 最新

  • 纯心执念 2021-10-19 10:42
    关注

    上面代码加粗没转义过来,有特殊字符,下面重新贴一下相关代码;

    activity.main.xml中
    <EditText
                    android:id="@+id/et_message"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:hint="请输入sn号" />
    
               MainActivity.java中
                  EditText et_message;
                  et_message = (EditText) findViewById(R.id.et_message);
                  //连接数据,根据sn获取
            bt_connect.setOnClickListener(v -> {
                String str = et_message.getText().toString();
                System.out.println("==============================================================" + str);
                logger.info("str : {}", str);
                String connectStr = JSON.toJSONString(SocketSourcePool.DEV_CONNECT_MAP.get(str));//原始版本
                String connectStr2 = JsonToolsUtil.printJson(connectStr,str);//JSON转义版本
                logger.info("connectStr : {},{}", connectStr, Environment.getRootDirectory());
                tv_newMsg.setText(connectStr2);
            });
            //体征数据,根据sn获取
            bt_bodyMsg.setOnClickListener(v -> {
                String str = et_message.getText().toString();
                System.out.println("==============================================================" + str);
                logger.info("str : {}", str);
                String bodyMsg = JSON.toJSONString(SocketSourcePool.BODY_QUEUE_MAP.get(str));//原始版本
                String bodyMsg2 = JsonToolsUtil.printJson(bodyMsg,str);//JSON转义版本
                logger.info("bodyMsg : {}", bodyMsg);
                tv_newMsg.setText(bodyMsg2);
            });
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月19日

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用