2013-03-11 166 views
1

我想處理android 中的事件softkeyboard,但是當我按下回車鍵時從來沒有生成任何東西 我在做什麼? 請對我的代碼進行任何編輯。我怎樣才能在softkeyboard中用edittext處理關鍵事件android

public class MainActivity extends Activity implements OnKeyListener { 
EditText editText1; 
EditText editText2; 
     public void 
onCreate(Bundle savedInstanceState) { 
     super.onCreate 
(savedInstanceState); 
     setContentView 
(R.layout.activity_main); 
     editText1 = (EditText) 
findViewById(R.id.editText1); 
editText1.setOnKeyListener(this); 
     editText2 = (EditText) findViewById(R.id.editText2); 
     editText2.setOnKeyListener(this); 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.showSoftInput(editText1, InputMethodManager.SHOW_IMPLICIT); 
     } 
    public boolean onKey(View view, int keyCode, KeyEvent event) { 
     if (event.getAction() == KeyEvent.KEYCODE_ENTER) 
     { 
    editText2.setText("hello");  
     } 
     return false; // pass on to other listeners. 
    } 
    } 
+0

是否當你把斷點內安其第一行程序停止? – 2013-03-11 14:20:17

回答

0

我認爲正確的事情應該是:

public boolean onKey(View view, int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_ENTER) 
    { 
     editText2.setText("hello");  
    } 
    return true; // pass on to other listeners. 
} 
+0

我嘗試但不工作 – 2013-03-11 15:42:44

+0

當你在onKey的第一行放置斷點時程序是否停止? – 2013-03-11 15:46:42

+0

我再次編輯它。 – 2013-03-11 17:59:13