相关疑难解决方法(0)

如何在关注edittext时显示软键盘

我想在EditText聚焦时自动显示软键盘(如果设备没有物理键盘),我有两个问题:

  1. 当我Activity显示时,我EditText的注意力集中但键盘没有显示,我需要再次点击它来显示键盘(显示我的键盘时应Activity显示).

  2. 当我在键盘上单击完成时,键盘被解除但是EditText保持聚焦并且不想要(因为我的编辑完成了).

要恢复,我的问题是在iPhone上有更多类似的东西:它使键盘与我的EditText状态同步(聚焦/不聚焦),当然如果有物理键盘,则不会出现软键盘.

keyboard android focus android-softkeyboard android-edittext

422
推荐指数
23
解决办法
35万
查看次数

如何在视图中捕获软键盘输入?

我有一个子类视图,当它在onTouchEvent中收到"修饰"时弹出键盘.它通过请求焦点,检索InputMethodManager,然后调用showSoftInput来显示此信息.

现在我需要弄清楚如何在按下它们时捕获软键盘的敲击字母.我目前只在软键盘上按下"下一个/完成"按钮时得到响应.

这是我的班级:

public class BigGrid extends View {

    private static final String TAG = "BigGrid";

    public BigGrid(Context context) {
        super(context);
        setFocusableInTouchMode(true); // allows the keyboard to pop up on
                                       // touch down

        setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                Log.d(TAG, "onKeyListener");
                if (event.getAction() == KeyEvent.ACTION_DOWN) {
                    // Perform action on key press
                    Log.d(TAG, "ACTION_DOWN");
                    return true;
                }
                return false;
            }
        });
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        super.onTouchEvent(event);
        Log.d(TAG, "onTOUCH");
        if …
Run Code Online (Sandbox Code Playgroud)

android

48
推荐指数
3
解决办法
4万
查看次数