如何在不扩展 AppCompatActivity 的 Activity 中设置工具栏?

How to setup Toolbar in Activity which doesn't extends AppCompatActivity?

我创建了一个扩展 ListActivity 的 activity 我想将工具栏设置到我的 activity 中,这需要扩展 AppCompatActivity。有没有像这样导入 AppCompatActivity 的片段的方法

((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);

ListActivity里面有个默认的ListView,可以用getListView()方法引用。

您只能通过扩展 AppCompatActivity 在 Android 中拥有 ToolBarActionBarActivity 有一个 ActionBar 自版本 22.1.0 以来已弃用。

所以我坚持要你使用 AppCompatActivity 来设置 ToolBar amd 在里面 Activity 你可以有一个 listview.

在 AppCompatActivity 中的 onCreate 中使用 ListView。您不能将工具栏与 ListActivity 一起使用。

在你的 onCreate

listView = (ListView) findViewById(R.id.list_view); 

mListItems = new LinkedList<String>();
mListItems.addAll(Arrays.asList(mStrings));

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, mListItems);

ListeActivity 扩展了 Activity,因此您不能转换为 AppCompatActivity。

两种替代方法是改用 ListFragment 并将其放入 AppCompatActivity。或定义您自己的 ListAppCompatActivity class,其中包含一个带有 ListView 且 ID 为 android:id/list

的布局