【问题标题】:What is the KeyEvent.ACTION_MULTIPLE and when is it triggered in Android?什么是 KeyEvent.ACTION_MULTIPLE,什么时候在 Android 中触发?
【发布时间】:2014-06-19 12:08:49
【问题描述】:

我想问是否有人可以简单解释一下Android中的KeyEvent.ACTION_MULTIPLE以及触发它的示例。

这里 -> http://developer.android.com/reference/android/view/KeyEvent.html#ACTION_MULTIPLE 它说: 与 IME 交互时,框架可以通过特殊操作 ACTION_MULTIPLE 传递键事件,该操作指定单个重复键代码或要插入的字符序列。

重复键码是什么意思?按下并按住一个键?抱歉,我不太清楚,因为我不是英语,而且我是 Android 开发的新手。

感谢关注!

编辑: 所以只有当键盘的箭头键被按下并按住时才会触发事件?正如回答被接受的用户在这里所说的那样-> What triggers (or generates) KeyEvent.ACTION_MULTIPLE?,是否正确?

【问题讨论】:

  • 这正是我找到我发布的那段文字的地方,抱歉我忘记发布链接了。但是我不明白他们的解释......
  • “大概是当用户按住箭头键时,会产生按键自动重复的事件。”,也就是说只有当用户使用键盘并按住箭头时才会触发该事件钥匙?请检查我的编辑

标签: android keyevent


【解决方案1】:

你的问题让我很好奇:)..所以我尝试了这段代码,我可以用几个键重复这个。例如。 Backpress:当你连续按下该键时,IME开始一次删除一个单词而不是一个字母。类似地,可以确定支持这种动作的多次按下的键。 这再次取决于 IME。从 IME 应用程序的角度来看,这也很有用。您不能经常复制它,因为长按通常会触发不同的字符。 另一点是,KeyCodes 也是从硬件键盘的存在中输入的。所以这可能会出现,取决于你如何处理它。 虽然http://developer.android.com/reference/android/view/View.OnKeyListener.html 说此操作仅触发硬件键盘,但它也适用于我的软件键盘。尽管他们不希望这样做。我想你可以说当你使用硬件键盘时这会成画面

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText et = (EditText) findViewById(R.id.checkText);
    KeyListener listener = et.getKeyListener();
    Log.d("tag", listener.toString());
    et.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            Log.d("tag", event.getAction()+"event");
            return true;
        }
    });
}
}

【讨论】:

    猜你喜欢
    • 2013-02-23
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    • 2017-04-08
    • 2017-11-20
    相关资源
    最近更新 更多