找不到片段DataSyncPreferenceFragment {dd64af8#0 id = 0x10203d1}的ID 0x10203d1(android:id / prefs)的视图

时间:2019-03-24 09:59:12

标签: android android-preferences

我已将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结果在顶部有一个操作栏。 有办法解决错误吗?或者,也许找到另一种添加操作栏的方法。 非常感谢您的帮助!

0 个答案:

没有答案