我制作了一个ListActivity:
public class NoteListActivity extends ListActivity{
}
并且以下方法不再可用:
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但我可以使用:
setActionBar(toolbar);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
请注意,我在同一项目的其他活动中使用了支持库。这意味着我添加了正确的gradle依赖项。
如何使用ListActivity和android.support.v7.widget.Toolbar?
答案 0 :(得分:5)
您无法在ToolBar
中执行此操作。
如果您想访问Activity
,则需要使用ListView
扩展您的课程。
我的建议:不要使用ListActivty,因为您要使用Activity
。创建{{1}},然后在{{1}}内只有{{1}}。它会工作得很好。
答案 1 :(得分:5)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppCompatCallback callback = new AppCompatCallback() {
@Override
public void onSupportActionModeStarted(ActionMode actionMode) {
}
@Override
public void onSupportActionModeFinished(ActionMode actionMode) {
}
@Nullable
@Override
public ActionMode onWindowStartingSupportActionMode(ActionMode.Callback callback) {
return null;
}
};
AppCompatDelegate delegate = AppCompatDelegate.create(this, callback);
delegate.onCreate(savedInstanceState);
delegate.setContentView(R.layout.saved_report_activity);
Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar);
delegate.setSupportActionBar(toolbar);
delegate.getSupportActionBar().setDisplayShowHomeEnabled(true);
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavUtils.navigateUpFromSameTask(SavedReportActivity.this);
}
});
答案 2 :(得分:1)
AppCompatActivity是支持v4的 FragmentActivity 的直接子类。阅读本文
http://android-developers.blogspot.it/2015/04/android-support-library-221.html 所以根据您的要求,
public class NoteListActivity extends AppCompatActivity {...}
只需更改您的依赖关系,例如:
compile "com.android.support:appcompat-v7:22.1.0"
答案 3 :(得分: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"/>
这应该在您的活动中添加一个工具栏,您可以在其中添加项目并使用其来处理事件,等等...