2017-06-06 3 views
0

アクティブなコードの特定の束のために戻るボタンの機能を変更したいと思います。一度それが完了したら、私はそれをデフォルトにリセットします。私は、コードの一部、以下の使用していますアンドロイドのバックボタンの機能を変更する

:コードの私の「束」はアクティブなとき

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

     else{ 

     } 
     return true; 
    } 

ブールissearchopenはtrueです。事前

+4

アクティビティの 'onBackPressed()'をオーバーライドすることができます。 –

+0

どのように私を助けるつもりですか? –

+0

私は正常にあなたが言ったように行ったが、私はどのように私はデフォルトの機能をリセットするのですか? –

答えて

1

おかげでそれはあなたがonBackPressed()メソッドをオーバーライドする必要があり、それを行うには、この

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

@Downvoter、説明には気をつけますか? –

+2

この回答は良い+1、私は誰かがそれをdownvoted yを知らない – jagapathi

0

のようになります。 あなたのコードの意志もissearchopentrueにオープンsearchViewを変更することを忘れないでください。この

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

のように見えます。

+0

ありがとうたくさん.......その作業:D –

関連する問題