键值在处理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 (将#修改为@)