android\bin\src\org\haxe\lime目录下仅有GameActivity.java继承自Activity.java,可覆写onKeyMultiple方法
添加
@Override public boolean onKeyMultiple(final int inKeyCode, int repeatCount, final KeyEvent event) { String s = event.getCharacters(); if (s == null || s.length() == 0) return super.onKeyMultiple(inKeyCode, repeatCount, event); final char[] cc = s.toCharArray(); int cnt = 0; for (int i = cc.length; --i >= 0; cnt += cc[i] != 0 ? 1 : 0); if (cnt == 0) return super.onKeyMultiple(inKeyCode, repeatCount, event); final MainView me = mView; me.queueEvent(new Runnable() { //This method will be called on the rendering thread: public void run() { for (int i = 0, n = cc.length; i < n; i++) { int keyCode; if ((keyCode = cc[i]) != 0) { int charCode = me.translateKeyCode (keyCode, event); //Simulate key down and up... me.HandleResult(Lime.onKeyChange(keyCode,charCode, true)); me.HandleResult(Lime.onKeyChange(keyCode,charCode, false)); } } } }); return true; }
另需注意import android.view.KeyEvent;
template替换方法:
<template path="tmp/GameActivity.java" rename="src/org/haxe/lime/GameActivity.java" if="android" />