У меня проблемы с onOptionsItemSelected() в SherlockFragmentActivity. Вызывается функция onCreateOptionsMenu(), и меню параметров построено отлично, но когда я нажимаю на элемент «Параметры», onOptionsItemSelected() не вызывается.Android: onOptionsItemSelected() вызван в SherlockActivity, но не в SherlockFragmentActivity
Я попробовал один и тот же следующий код в тестовом проекте с использованием SherlockActivity и там работает:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "hi").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add(0, 1, 0, "ha").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_NEVER);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == 1) {
// Do someting!
}
return true;
}
В обоих случаях следующие импорта выполняются:
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
Кто-нибудь знает помощь? Спасибо!
Вы пытались использовать «SherlockFragmentActivity» в своем минимальном тестовом проекте? Я использовал 'onOptionsItemSelected()' в действиях, которые наследовали от «SherlockFragmentActivity» во многих случаях и никогда не возникали проблемы. –
Спасибо за вашу помощь, я попробовал сейчас, и он работает с SherlockFragmentActivity, но все же только в минимальном тестовом проекте. У вас есть идея, что может повлиять на это в моем большом проекте? Выполняют ли фрагменты роль (у них нет меню опций)? – user1956123
Извините, не знаю. Если бы я работал над этой проблемой, я бы либо медленно срывал свою сломанную деятельность, либо медленно наращивал свою рабочую активность, пока не нашел точку, где она ломается. Тогда вы можете выяснить, как решить. –