-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