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"/>