繁体   English   中英

如何在Activity中使用onCreateOptionsMenu()哪个扩展ListActivity

[英]How to use onCreateOptionsMenu() in Activity Which Extended ListActivity

我有一个关于我的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)

您的主题可能仍然基于Theme.AppCompat 如果要使用Theme.AppCompat ,则必须从ActionBarActivity继承。 如果要使用ListActivity ,则不能使用Theme.AppCompat

请注意,您不需要使用ListActivity在活动中包含ListView 这是一个示例项目,演示了Theme.AppCompatActionBarActivityListView 这是另一个示例项目 ,与前一个相同,只是我将自定义色调应用于操作栏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM