微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

键值在处理Android模式下无法正常工作

如何解决键值在处理Android模式下无法正常工作

我正在通过Processing for Android开发一个Android应用程序,但遇到了有关实现简单文本输入字段的问题。 基本上,当我按下Android设备上的某个键(当前使用的是Samsung键盘)时,直到我按下空格键时,才需要为上一个调用keypressed()函数,并且该函数被称为传递最后一个非空格字符作为key值。因此,当我键入多个字符时(就像我在键入一个单词一样),直到我按下空格键并且key值返回为空的空格字符时,该函数才被调用。我在想键盘会以某种方式将先前的字符存储在变量中,以便它可以执行自动更正/自动完成的工作,并且仅在按下空格键或Enter键时才将值发送到应用程序。但是,处理不支持一次发送多个密钥,因此会将其解释为空格字符。

以下是重现此问题的代码

boolean keyboard = false;
StringBuilder sb;
void setup() {
  sb = new StringBuilder(10);
  fullScreen();
  textFont(createFont("Arial",40 * displayDensity));
  fill(0);
}    

void draw() {
  background(255);
  text(sb.toString(),width/2,height/2);
}

void keyreleased() {
  background(200,50,30); 
  println(keyCode,key);
  if(keyCode == DELETE){
    sb.setLength(Math.max(sb.length() - 1,0));
  } else {
  sb.append(key);
  }
}

void mousepressed() {
  if (!keyboard) {
    openKeyboard();
    keyboard = true;
  } else {
    closeKeyboard();
    keyboard = false;
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。