簡體   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