Я разрабатываю приложение для Android для устройств 2.1 Eclair -> 3.0 Honeycomb.Сейчас я перехожу к созданию области пользовательских настроек.Я наткнулся на загвоздку с пунктами Menu & ActionBar.
Я создал ресурс xml меню с моими элементами и значками, а затем подключил его в Java с помощью:
Я добавил этиимпорт поверх того, что у меня уже было:
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
А затем этот код в моей деятельности на сайте разработчиков Android сказал :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.pixelappmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuItem_Help:
helpDialogGo();
return true;
case R.id.menuItem_Settings:
settingsActivityGo();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
(Этоэто все, что я добавил, так как он работал нормально. Я даже прокомментировал все эти новые вещи, и он снова начал работать на Honeycomb.)
Это сработало, когда я протестировал его на Froyo - появилось меню с заголовками изначков, как и предполагалось, но когда я пытаюсь запустить приложение на своем планшете Honeycomb, оно принудительно закрывается, даже не показывая приложение в течение доли секунды.
Некоторый другой, возможно, соответствующий код:
извлечь из androidmanifest.xml
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="11" />
pixelappmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="Help"
android:id="@+id/menuItem_Help"/>
<item
android:title="Settings"
android:id="@+id/menuItem_Settings"
android:onClick="onMenuItemClick_Settings"/>
</menu>