我已将Android Studio用作模板的默认SettingsActivity添加到我的项目中。我现在正在尝试在其顶部添加工具栏/操作栏。
我的解决方法是对活动顶部使用操作栏的活动使用setContentView()
。但是出现了错误:
No view found for id 0x10203d1 (android:id/prefs) for fragment
DataSyncPreferenceFragment{dd64af8 #0 id=0x10203d1}
我尝试调查this article,该问题同样存在,但没有任何回应。 This article也不是答案,因为我特别想要工具栏。
以下是SettingsActivity类中相关代码的摘录:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
setTheme(R.style.Theme_AppCompat_Light_DarkActionBar);
setupActionBar();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
private void setupActionBar() {
ActionBar actionBar = getActionBar();
if (actionBar != null) {
// Show the Up button in the action bar.
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
activity_settings.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/Base.Widget.AppCompat.Light.ActionBar"
tools:context="com.example.android.memo.Activity.SettingsActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:gravity="start"
android:background="@color/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:theme="@style/ThemeOverlay.AppCompat.Light" tools:targetApi="lollipop">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_inbox"
android:textSize="16sp"
android:textColor="@android:color/white"
android:layout_gravity="start"
android:id="@+id/toolbar_title" />
</android.support.v7.widget.Toolbar>
<ListView
android:id="@android:id/list"
android:divider="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
</FrameLayout>
我希望我的settingsactivity结果在顶部有一个操作栏。 有办法解决错误吗?或者,也许找到另一种添加操作栏的方法。 非常感谢您的帮助!