2017-06-06 152 views
0

我想更改一组正在激活的特定代码的后退按钮的功能。一旦完成,我如何将其重置为默认值。更改后退按钮的功能android

我使用下面的代码段:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if(keyCode== KeyEvent.KEYCODE_BACK && issearchopen) 
     {    
      searchView.closeSearch(); 
     } 

     else{ 

     } 
     return true; 
    } 

布尔issearchopen每当我的代码“一堆”是活动是真实的。

在此先感谢

+4

您可能想覆盖活动中的'onBackPressed()'。 –

+0

它将如何帮助我? –

+0

我已成功按照您的说法完成,但我如何重置默认功能? –

回答

1

它应该是这样的

@Override 
public void onBackPressed() { 
    if(isSearchOpen){ 
    // do stuff 
    } else { 
     super.onBackPressed(); // default behaviour 
    } 
} 
+0

@Downvoter,小心解释一下? –

+2

这个答案很好+1,我不知道有人低估了它 – jagapathi

0

要做到这一点,你需要重写onBackPressed()方法。 你的代码看起来像这样

@Override 
public void onBackPressed() { 
    if(issearchopen){ 
     searchView.closeSearch(); 
     issearchopen = false; 
    } else { 
     super.onBackPressed(); // default back press behaviour 
    } 
} 

也不要忘了修改issearchopentrue时打开搜索查看。

+0

非常感谢.......它的工作:D –