Android 问题:EditText、KeyListener 和物理后退按钮

发布于 2024-10-18 21:40:49 字数 664 浏览 3 评论 0原文

我的活动实现了 KeyListener,我的 edittext 有一个关键侦听器集。

editor = new EditText(this);
        editor.setMinLines(4);
        editor.setMinimumWidth(400);
        editor.setKeyListener(this);

当用户键入内容并按软键盘上的“Enter”键时,文本视图的文本将设置为用户输入。

@Override
public int getInputType() {

    return InputType.TYPE_TEXT_FLAG_MULTI_LINE;
}


@Override
public boolean onKeyDown(View view, Editable text, int keyCode,
        KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_ENTER){

        outview.setText(editor.getText());
    }
    return true;
}

这里的outview是一个TextView。我的问题是,在此活动中,物理后退按钮不起作用。按下它,什么也没有发生。任何建议都会受到欢迎。

My activity implements KeyListener and my edittext has a key listener set.

editor = new EditText(this);
        editor.setMinLines(4);
        editor.setMinimumWidth(400);
        editor.setKeyListener(this);

WHen the user types something and presses "enter" on the softkeyboard a textview's text is set to the users input.

@Override
public int getInputType() {

    return InputType.TYPE_TEXT_FLAG_MULTI_LINE;
}


@Override
public boolean onKeyDown(View view, Editable text, int keyCode,
        KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_ENTER){

        outview.setText(editor.getText());
    }
    return true;
}

Here outview is a TextView. My problem is that in this activity the physical back button doesn't work. Press it and nothing happens. ANy advice would be welcomed.

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

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

发布评论

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

评论(2

你的心境我的脸 2024-10-25 21:40:49

通过从 onKeyDown 函数返回 true,您将通知 Android 您已处理所有按键事件。相反,仅在输入键的情况下返回 true。否则返回false。这将允许 Android 处理后退按钮按键。

By returning true from the onKeyDown function, you are informing Android that you have handled all key events. Instead, only return true in the case of the enter key. Return false otherwise. This will allow Android to handle the back button key press.

一梦等七年七年为一梦 2024-10-25 21:40:49

查找软键盘的输入

txt.setOnKeyListener(new OnKeyListener() {

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) 
        {
                  outview.setText(editor.getText());
        }
        return true;
    }
});

find enter of softkeyboard

txt.setOnKeyListener(new OnKeyListener() {

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) 
        {
                  outview.setText(editor.getText());
        }
        return true;
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文