覆盖 Activity 中的后退按钮操作
我刚刚在代码中覆盖了后退按钮,如下所示
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
{
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
现在我面临一个奇怪的问题, 我有当前活动的编辑文本。 在编辑时,当我尝试按后退关闭虚拟键盘时 按钮 。 我的申请完成... 但我只想关闭键盘而不是 Avtivity.. 有什么建议可以解决我的问题..?
提前致谢, Tanmay
I have tried both
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
和
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK ) {
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
但没有结果。 有什么建议吗!!
I have just overide my back button in my code like this
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
{
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
Now I am facing a weird problem,
I have a edit text on the current Activity.
At the time of editing when I am trying to close the virtual keyboard by pressing the back
button .
My Application finishes...
But I just want to close the keyboard not the Avtivity..
Any suggestion to solve my issue..?
Thanks in advance,
Tanmay
I have tried both
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
and
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK ) {
startActivity(new Intent(context, MainDialog.class));
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
But no result.
Any suggestion!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看来您错过了捕获后退键代码的 if 语句。试试这个:
It seems you missed the if statement that catches the back key code. Try this:
可能还有一个解决方案,我们可以这样做吗...
我在 xml 中有一个 id buttonBack 的 ImageButton
我在 btnBack 上掌握了这一点,并
在 public void onClick 函数中添加了一个 OnClickListener,我调用该类的意图,该类具有另一种布局,可能是前一个类...希望这对所有人都有效...谢谢。
One more solution probably, can we do like this...
I have an ImageButton by id buttonBack in xml
I am getting hold of that on btnBack and adding an OnClickListener
In public void onClick function I call an intent of the class which is having another layout probably the previous one class...hope this works for all... thanks.