【问题标题】:InputMethodManager show numpad in webviewInputMethodManager 在 webview 中显示小键盘
【发布时间】:2014-07-28 05:29:40
【问题描述】:

我正在使用 InputMethodManager 在需要时以编程方式显示软键盘

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);

是否有强制显示为数字或电话键盘的键盘?

编辑

抱歉,在我不得不离开计算机一段时间之前,我匆忙输入了这个。我忘了提到可能是最关键的部分。我正在尝试在 webview 中执行此操作。我关注的文本框的输入类型设置为电话。出于某种原因,小键盘不会出现在自动对焦上,这就是我尝试使用 InputMethodManager 强制它的原因。我当前的方法将键盘显示在正确的字段上,但它似乎无法正确读取类型和显示。

感谢您迄今为止的所有回答(确实回答了我措辞不佳的问题)。

【问题讨论】:

    标签: java android cordova webview inputmethodmanager


    【解决方案1】:

    以下代码将向您显示键盘:

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(view, 0);
    

    但是,如果您想强制显示为数字或电话键盘的键盘,则必须在该特定视图/小部件上设置输入类型。

    InputType.TYPE_CLASS_NUMBER; 
    InputType.TYPE_CLASS_PHONE;
    

    例如。

    your_edit_text.setInputType(InputType.TYPE_CLASS_NUMBER);
    

    【讨论】:

      【解决方案2】:

      将此代码用于数字:

        <EditText
                          android:id="@+id/editText"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:background="@null"
                          android:inputType="number"
                          android:padding="10dp"
                          android:singleLine="true" />
      

      & 将此代码用于电话:

       <EditText
                          android:id="@+id/editText"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:background="@null"
                          android:inputType="phone"
                          android:padding="10dp"
                          android:singleLine="true" />
      

      以编程方式试试这个

      password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
      

      密码是edittext。

      这会起作用。

      【讨论】:

        【解决方案3】:

        a) 在 xml 中

        android:inputType="number"
        

        b) 在代码中

        EditText editView = new EditText(this);
        editView.setKeyListener(new DigitsKeyListener());
        

        【讨论】:

          猜你喜欢
          • 2023-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-14
          相关资源
          最近更新 更多