我的Android应用程序项目有问题。
我有一个MainActivity,如下所示:
public class MainActivity extends ListActivity {
private NotesDataSource datasource;
List<NoteItem> notesList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
datasource = new NotesDataSource(this);
refreshDisplay();
}
private void refreshDisplay() {
notesList = datasource.findAll();
ArrayAdapter<NoteItem> adapter = new ArrayAdapter<NoteItem>(this, R.layout.list_item_layout, notesList);
setListAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}
我还有一个menu_main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_create"
android:title="@string/action_create"
android:orderInCategory="100"
app:showAsAction="always|withText"
android:icon="@drawable/create_note"/>
</menu>
此时问题就出现了。我已经将我的超类从 ActionBarActivity 更改为 ListActivity 然后,当我在我的设备上运行我的应用时,我看不到我的创建图标(以及包含应用名称的顶级菜单) )。怎么了?想法?
(顺便说一下,我使用的是Android Studio Ide)
答案 0 :(得分:3)
您的主题可能仍然基于Theme.AppCompat
。如果您要使用Theme.AppCompat
,则必须继承ActionBarActivity
。如果您想使用ListActivity
,则无法使用Theme.AppCompat
。
请注意,您无需使用ListActivity
在活动中拥有ListView
。 Here is a sample project演示了Theme.AppCompat
与ActionBarActivity
和ListView
的使用情况。 Here is another sample project,与前一个相同,只是我将自定义色调应用于操作栏。