2015-05-13 3 views
0

В одном классе я надуваю панель действий, чтобы найти элемент, а затем возвращаю super.oncreatemenuoptions (menu), а затем в другом классе я просто использую menu.finditem ... В методе onCreateMenuOptions без раздувания, потому что когда я снова его накачаю два элемента были созданы. Он отлично работает на Api 15 и 16, но Android 4.2.2 выбрасывает исключение нулевого указателя всякий раз, когда я пытаюсь использовать элемент во втором классе. Телефон, с которым он падает, - это Samsung Galaxy s4. Есть ли проблемы с микропрограммой в Samsung? Есть ли все-таки вокруг этого, проверяя api в моем коде? Класс 1:onCreateMenuOptions отличаются от нового Apis?

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
Menuinflater inflater= getMenuInflater(); 
inflated.inflate (R.menu.actionbar, menu); 
MenuItem item= menu.findItem(R.id.search); 
return super.onCreateOptionsMenu(menu); 

Класс 2:

@Override 
public void onCreateOptionsMenu (Menu menu,MenuInflater inflater) { 
SearchView SearchView = (SearchView) menu.findItem (R.id.search).getActionView(); 
} 
+0

Не могли бы вы предоставить свой код, он будет легко помочь вам – IgorB

ответ

0

Я исправил его, изменив андроид поиска: showAsAction в папке xml меню с «ifroom» на «always». Кроме того, перемещение searchView.setOnQueryTextListener (this) из onCreateView в onCreateOptionsMenu, но теперь, когда я это делаю, он не будет работать на более старом устройстве и наоборот, когда я его верну ... Я думаю, что это ошибка с api 19 или более новая apis или что-то.

0

Вы можете получить SDK сборки версии стоимость устройства прагматично в пределах вашего кода по этой линии. "Integer.valueOf (android.os.Build.VERSION.SDK);" , и вы можете получить выпускную версию этой линии. "Строка androidOS = Build.VERSION.RELEASE;" Но я не понял, почему вам нужно знать версию. Я думаю, проблема в том, что ваш Sdk.Try использует обновленный SDK и обновленный IDE. Или попробуйте создать новый проект и скопировать все классы в этот новый проект. Надеюсь, это поможет вам.

+0

Какая просьба использовать? –

+0

Sdk Я имею в виду autocorrect –

+0

Вам нужно раздуть панель действий в каждом классе. Проблема находится где-то в другом месте. Возможно, вы покажете мне ваш файл меню «actionbar.xml»? –

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