Java Android SDK(Eclipse):如何使用带有按钮的SetOnKeyListener?
我只是不知道怎么做。代码对我来说太混乱了。谁能给我看一下代码并解释一下吗 我想要的是将enter keyCode分配给Java Android SDK(Eclipse):如何使用带有按钮的SetOnKeyListener?,java,android,eclipse,button,Java,Android,Eclipse,Button,我只是不知道怎么做。代码对我来说太混乱了。谁能给我看一下代码并解释一下吗 我想要的是将enter keyCode分配给btn按钮,这样当用户触摸enter软键时,toast将像单击按钮一样显示 下面是使用代码的简单应用程序: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn
btn
按钮,这样当用户触摸enter软键时,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
}
});
其他解释见评论。希望这有帮助非常感谢您的回答,我还有一个问题,我有一个应用程序,我想在一个特定的按钮上使用OnKeyListener,但该按钮有很长的代码,它仍然会给我错误,您能告诉我如何实现它吗@kiruwkaWell,我建议您在新创建的简单按钮上尝试上面的代码,并验证它是否如您所期望的那样工作。然后,如果您需要修改现有的按钮,您可以更新您的问题或创建一个新的问题,提供所有详细信息(按钮代码、错误日志、您尝试的内容)。我在Emulator上尝试了它,但它在启动idk时停止了工作。原因:(我发布的代码在新按钮上运行良好(我自己刚刚确认)。您可能还有一些其他问题。请检查您的
logcat
输出,了解运行时错误的详细信息。@kiruwka:问题是我对Android完全陌生,我只从一个星期开始学习,我知道如何使用logcat,但并不十分熟悉,顺便说一句,这是我的其他应用程序代码,请检查一下,我知道它是L翁:[链接]()–灵魂收割者