1

我的活动中几乎没有 TextView,当活动开始时,我想显示软数字键盘,或者该活动应始终显示键盘。

我努力了:

  1. 在清单中设置android:windowSoftInputMode="stateAlwaysVisible"活动但没有奏效。
  2. 在活动 onCreate 中添加了此代码,它显示字母数字键盘,但不显示数字。

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

在这方面需要帮助。

4

3 回答 3

1

要在活动开始时弹出数字键盘,我使用了以下步骤:

在布局中创建编辑文本字段为:

<EditText
        ...
        android:inputType="number"    
        ...  />

但是因为你需要在没有任何编辑文本的情况下弹出键盘所以给

 <EditText
        ...
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:inputType="number"    
        ...  />

在函数onCreate() 中显示软键盘

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

最重要的是在onResume方法中将重点放在编辑文本上。

    @Override
    public void onResume() {
        super.onResume();
        editText.setFocusableInTouchMode(true);
        editText.requestFocus();
    }
于 2014-05-06T06:34:05.907 回答
1

将编辑文本作为第一个子项放在您的 xml 文件中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             ............
               .........>
 <EditText android:layout_width="0dp"
    android:layout_height="0dp"/>
..............
................
</LinearLayout>
于 2011-11-09T07:37:46.537 回答
1

我已经以动态方式尝试过 EditText ...... TextView 的方法也相同......当活动开始时,将注意力集中在那个 textView 上,这样它就可以向你显示键盘

    boolean checkFocus=EditText.requestFocus();
    Log.i("CheckFocus", ""+checkFocus);
    if(checkFocus==true)
    {
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    EditText.setInputType(InputType.TYPE_CLASS_PHONE); [select Input type as according to ur requirement]
    mgr.showSoftInput(EditText, InputMethodManager.SHOW_IMPLICIT);
    }
于 2011-11-09T07:07:09.260 回答