活动开始时难以启动数字键盘

发布于 2024-12-14 05:11:36 字数 390 浏览 0 评论 0原文

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

我尝试过:

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

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

需要帮助。

I have few TextView's in my activity, when activity starts i want to show soft numeric keypad or that activity should always show keypad.

I have tried:

  1. To set android:windowSoftInputMode="stateAlwaysVisible" in manifest for activity but didn't worked.
  2. Added this code in activity onCreate, it shows the alphanumeric keypad but not numeric.

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

Need help on this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

季末如歌 2024-12-21 05:11:36

我已经以动态方式尝试过对 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);
    }

I have tried this for an EditText in a dynamic way...The method would be the same for TextView also..When activity starts,give focus on that textView ,so that it can show u the keypad

    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);
    }
孤芳又自赏 2024-12-21 05:11:36

将编辑文本作为第一个子文件放入 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>

Place edit text in your xml file as first child.

<?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>
请远离我 2024-12-21 05:11:36

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

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

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

但由于您需要在没有任何编辑文本的情况下弹出键盘,所以给

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

函数 < strong>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();
    }

To pop up a numeric keyboard on start of the activity i used following steps:

Created edit text field in layout as:

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

but since you need the key board to be poped without any edit text so give

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

In function onCreate() show soft keyboard

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

Most important is to give focus to edit text in onResume method.

    @Override
    public void onResume() {
        super.onResume();
        editText.setFocusableInTouchMode(true);
        editText.requestFocus();
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文