-1
好吧,我放弃 有没有办法来调用用户的文本输入(与出现在屏幕上的键盘),而不使用XML布局,所有这些东西像findViewById(R.id .editText1)? 也许某种onEditListener?或这样的事情...用户的文本输入,而不使用XML布局
好吧,我放弃 有没有办法来调用用户的文本输入(与出现在屏幕上的键盘),而不使用XML布局,所有这些东西像findViewById(R.id .editText1)? 也许某种onEditListener?或这样的事情...用户的文本输入,而不使用XML布局
我已经找到一种方法来做到这一点。 首先我使用一个SurfaceView(cos itsgonna是一个游戏项目),并且使它成为FocusableInTouchMode(true); 然后我setOnKeyListenerto我查看在地方,我需要它:
mContext.getGameView().setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
char pressedKey = (char) event.getUnicodeChar();
if(event.getAction() == KeyEvent.ACTION_DOWN){
if(event.getUnicodeChar() == 0){
setName.setTitle(removeLastChar(setName.getTitle()));
} else
setName.setTitle(setName.getTitle() + (char) event.getUnicodeChar());}
return false;
}
});
setName.setTitle只是一个盒子(矩形)在其文本; 然后我创建了一个InputMethodManager:
imm.showSoftInput(mContext.getGameView(), InputMethodManager.SHOW_FORCED);
当想删除它使用:
private InputMethodManager imm;
imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
ADN WHN我需要的软键盘我叫它
imm.hideSoftInputFromWindow((mContext.getGameView().getWindowToken()), 0);
但我做了后所有这些东西,我发现一个不愉快的问题: 它不捕获西里尔语言事件...任何想法如何得到它?谢谢。
为什么你不想使用XML? – 2014-10-03 15:24:23
为什么你不想使用XML布局。这是不是试图通过代码来执行它使用的布局,因为它可以处理像屏幕上的不同的设备更容易的最好的事情,你必须从XML布局更多的控制和可读性比尝试任何其他方式 – Boardy 2014-10-03 15:26:14
进出口创造一些一种自己的引擎,并且已经使所有东西像按钮,列表框和其他东西只与java没有布局,我想结束这种风格,不想结合。 – 2014-10-03 15:26:28