gpt4 book ai didi

java - Android onCreateOptionMenu 没有被调用

转载 作者:行者123 更新时间:2023-12-02 00:30:46 25 4
gpt4 key购买 nike

我正在实现一个 Android Activity,其他 Activity 将从该 Activity 派生。所以基本上我有一个 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>

如果有必要,这是我的 inventory.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

但最让我困惑的是这段代码可以在其他 Activity 中工作,例如我的启动器 Activity。但根据面向对象编程的概念,InventoryActivity 应该调用 MyListActivity 中的重写方法。我完全陷入困境,需要帮助。

最佳答案

ListActivity 已经是 Android SDK 中的一个类。我的猜测是您正在导入 android.app.ListActivity,而不是您的包。

关于java - Android onCreateOptionMenu 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com