2016-11-21 21 views
0

設定リストでカスタムレイアウトを追加したいと思います。それは私にこのエラーを与える。Android PreferenceFragmentCompatカスタムレイアウトlist_containerエラー

<FrameLayout 
    android:id="@+id/list_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

スタイル:

<style name="BestMainTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="colorControlNormal">@color/white</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowBackground">@color/windowBackground</item> 
    <item name="preferenceTheme">@style/BestAppSettingsTheme</item> 
    <item name="android:textColorPrimary">@android:color/white</item> 
    <item name="android:textColorSecondary">@android:color/darker_gray</item> 
    <item name="android:textColorHint">@android:color/darker_gray</item> 
</style> 

<style name="BestAppSettingsTheme" parent="@style/PreferenceThemeOverlay.v14.Material"> 
    <item name="android:layout">@layout/fragment_preferences</item> 
</style> 

コンテンツは はのViewGroupクラス

レイアウトではないことをid属性 'android.R.id.list_container' との見解を持っています

コード:

@Override 
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { 

    setPreferencesFromResource(R.xml.preferences, rootKey); 

} 

答えて

1

サポートプリファレンス24以降を使用している場合、Googleは必要なIDをR.id.list_containerからandroid.R.id.list_containerに変更しました。

だからにあなたのレイアウトファイルを変更します。

<FrameLayout 
    android:id="@android:id/list_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 
関連する問題