我只是不知道该怎么做。守则让我很困惑。谁能告诉我代码和解释?
我想要的是将 enter keyCode 分配给 btn
按钮,这样当用户触摸 Enter SoftKey 时,toast 就会像点击按钮一样出现!
这是使用代码的简单应用程序:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.btn);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
请给我解释一下,不要只是写,我是 Android 新手,感谢您的时间
最佳答案
那么,您需要为您的按钮设置 OnKeyListener
,方法与您已经设置 OnClickListener
的方式类似:
b.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// your custom implementation
if (KeyEvent.KEYCODE_ENTER == keyCode) { // match ENTER key {
// show the toast
Toast.makeText(MainActivity.this, "Hello World",
Toast.LENGTH_SHORT).show();
return true; // indicate that we handled event, won't propagate it
}
return false; // when we don't handle other keys, propagate event further
}
});
补充说明在评论中。希望有帮助
关于java - Android SDK( eclipse ): How To Use SetOnKeyListener with Button?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20301088/