2014-10-25 3 views
0

Я пишу приложение, которое воспроизводит музыку (и фильмы позже). Я добавил некоторые пункты меню, такие как перетасовка, повторная песня, выход и т. Д., И все работает как шарм. Но я не могу заставить кнопку поиска работать (искать искомое название песни). Вот ошибки из журнала кошки, когда я использовал отладчик, введенные приложения и нажал кнопку увеличительного стекла/поиска:Поиск Поле приводит к сбою приложения

LogCat

+0

Отправьте ваш код для справки? –

+0

Вот фрагменты кода, в котором используется кнопка поиска [link] (http://wklej.org/id/1498747/) Я попытался добавить эту функцию, используя этот учебник [link] (http: // antonioleiva. com/actionbarcompat-action-views /) –

ответ

0

// глобального объявление

public SearchView mSearchView; 

// попробовать это в настройках searchmethod

public boolean onCreateOptionsMenu(Menu menu) { 
     // action bar items 
     getMenuInflater().inflate(R.menu.moj_media_play, menu); 
     menu.findItem(R.id.action_search).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS 
       |MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); 
       mSearchView = (SearchView) MenuItem.getActionView(menu.findItem(R.id.action_search)); 
     return true; 

    } 

// onoptionsitemSelected

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case R.id.action_rand: 
       mojMedPl.setShuffle(); 
       Toast.makeText(getBaseContext(), "Odtwarzanie losowe włączone", Toast.LENGTH_LONG).show();  
       break; 
     case R.id.action_end: 
       stopService(playIntent); 
       mojMedPl=null; 
       System.exit(0); 
       break; 
     case R.id.action_repeat: 
      mojMedPl.setRepeat(); 
      // if(mojMedPl.checkRepeat=true) 
      Toast.makeText(getBaseContext(), "Powtarzanie włączone", Toast.LENGTH_LONG).show(); 
      // else  Toast.makeText(getBaseContext(), "Powtarzanie wyłączone", Toast.LENGTH_LONG).show();  
       break; 
     case R.id.action_search: 
      mSearchView.setOnQueryTextListener(this); 

      // mSearchView.setIconified(false); 

      return true; 

     } 
     return false; 
     //return super.onOptionsItemSelected(item); 
    } 
+0

Спасибо за помощь, я сделал то, что вы опубликовали, но все равно сбой в одно и то же время (при нажатии на увеличительное стекло) –

+0

Любой знает, как это исправить? Мне очень нужна работа ... –

+0

[ссылка на это] (http://stackoverflow.com/questions/21585326/implementing-searchview-in-action-bar) –

Смежные вопросы