Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何在ListActivity中使用工具栏?_Android_Toolbar_Listactivity - Fatal编程技术网

Android如何在ListActivity中使用工具栏?

Android如何在ListActivity中使用工具栏?,android,toolbar,listactivity,Android,Toolbar,Listactivity,我做了一个列表活动: public class NoteListActivity extends ListActivity{ } 以下方法不再可用: setSupportActionBar(toolbar); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); 但我可以使用: setActionBar

我做了一个列表活动:

 public class NoteListActivity extends ListActivity{
 }
以下方法不再可用:

    setSupportActionBar(toolbar);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但我可以使用:

    setActionBar(toolbar);
    getActionBar().setHomeButtonEnabled(true);
    getActionBar().setDisplayHomeAsUpEnabled(true);
请注意,我在同一项目的其他活动中使用了支持库。这意味着我添加了正确的渐变依赖项


如何使用ListActivity和android.support.v7.widget.Toolbar?

ListActivity
中不能这样做

如果要访问
getSupportActionBar()
,则需要使用
AppCompatActivity
扩展类

我的建议:不要使用ListActivty,因为您想使用
工具栏。创建一个
活动
,然后在该
活动
中只包含
列表视图
。它会很好用的

是SupportV4的FragmentActivity的直接子类。请阅读本文

因此,对于您的需求,
公共类NoteListActivity扩展了AppCompatActivity{…}

只需更改依赖项,如:

compile "com.android.support:appcompat-v7:22.1.0"

我可以通过添加一个支持库工具栏样式,然后将该样式添加到清单中的列表活动中来解决这个问题

在styles.xml中:

     <style name="FullscreenActionBarStyle" parent="Widget.AppCompat.ActionBar">

明显地

    <activity android:theme="@style/FullscreenActionBarStyle"
              android:name="@string/my_activity_name"
              android:label="@string/my_activity_label"/>


这将为您的活动添加一个工具栏,您可以向其中添加项目和处理事件,等等。

是的,actionBar已被弃用,您不应该使用ListActivity,而是为了顺利迁移遗留应用程序。此代码有效
    <activity android:theme="@style/FullscreenActionBarStyle"
              android:name="@string/my_activity_name"
              android:label="@string/my_activity_label"/>