【问题标题】:Android Problem: EditText, KeyListener and the physical Back ButtonAndroid 问题:EditText、KeyListener 和物理后退按钮
【发布时间】:2011-07-02 10:58:33
【问题描述】:

我的活动实现了 KeyListener 并且我的 edittext 设置了一个键侦听器。

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

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

@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。我的问题是,在此活动中,物理后退按钮不起作用。按下它,没有任何反应。欢迎任何建议。

【问题讨论】:

    标签: android keylistener android-softkeyboard android-edittext


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      找到软键盘的输入

      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;
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2011-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多