Я реализую действие Android, из которого будут получены другие действия. Итак, в основном у меня есть эта настройка InventoryActivity и его родительского класса, ListActivity:
public class MyListActivity extends Activity {
protected Context mContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this.getBaseContext();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options, menu);
Log.d("Creating options menu", "True");
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
Log.d("Preparing options menu", "True");
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save:
return(true);
case R.id.revert:
return(true);
}
return(super.onOptionsItemSelected(item));
}
}
public class InventoryActivity extends MyListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.inventory);
}
}
И у меня это тоже есть в options.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/card_list_save"
android:icon="@drawable/ic_menu_save"
android:title="Save"/>
<item android:id="@+id/card_list_revert"
android:icon="@drawable/ic_menu_revert"
android:title="Revert" />
</menu>
При необходимости это мой макет для инвентаря. Xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/callSearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Search"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/inventory"/>
</ScrollView>
</LinearLayout>
Однако, когда я нажимаю кнопку меню, ничего не происходит. Сообщения журнала в методе onCreateOptionsMenu не отображаются. Вместо этого я вижу только следующее:
02-04 11:36:58.313: W/KeyCharacterMap(31464): No keyboard for id 0
02-04 11:36:58.313: W/KeyCharacterMap(31464): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
Но больше всего меня сбивает с толку то, что этот код работает в других видах деятельности, таких как мой вид деятельности запуска. Но согласно концепции объектно-ориентированного программирования InventoryActivity должна вызывать переопределяющие методы в MyListActivity. Я полностью застрял, и мне нужна помощь.