2017-06-24 3 views
0

コミュニティを迷惑して申し訳ありません。しかし、ここにポインタを付けることはできますか?私はプログラミングと新しいことを学んでいます。SearchViewがキーボードまたはキーパッドから「ENTER」を取得しない

私はツールバーにSearchViewを追加しました。

<item 
    android:id="@+id/search" 
    android:title="Search" 
    android:icon="@android:drawable/ic_menu_search" 
    app:actionViewClass="android.widget.SearchView" 
    app:showAsAction="always" /> 

その後、私は、誰かがそれが「//何かを」作るためにSearchViewに入力されたときのために、キーボードやsoftkeypadから「ENTER」キーを

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    MenuItem item = menu.findItem(R.id.search); 
    SearchView searchView = (SearchView) item.getActionView(); 

    searchView.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 

      if (event.getAction() == KeyEvent.ACTION_DOWN) 
      { 
       switch (keyCode) 
       { 
        case KeyEvent.KEYCODE_ENTER: 

         //do something 
         //do something 
         //do something 

         return true; 
        default: 
         break; 
       } 
      } 

      return false; 
     } 
    }); 

    return MainActivity.super.onCreateOptionsMenu(menu); 

} 

を捕獲しようとしている。しかし、私の「AM //何かをして "決してトリガーしない。助けてもらえますか?

答えて

0

あなたは、コードの下に試すことができ

searchView.setOnQueryTextListener(new OnQueryTextListener() { 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      //Log.e("onQueryTextChange", "==called"); 
      return false; 
     } 

     @Override 
     public boolean onQueryTextSubmit(String query) { 
      // Do something 
      return false; 
     } 

    }); 
関連する問題