为什么即使在settings.xml文件中声明它之后我也没有获得PreferenceCategory的摘要?

时间:2015-10-07 13:56:40

标签: java android android-xml android-preferences

我正在开发一个材料设计应用程序&我已经为SettingsActivity声明了一个xml文件。

我遇到的问题是PreferenceCategory的{​​{1}}标记即使在android:summary中声明后也未显示任何摘要。

这是SettingsActivity.java的屏幕截图(请参阅:此处没有摘要):

enter image description here

这是settings.xml文件的代码

SettingsActivity.java

这是public class SettingsActivity extends AppCompatActivity { Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); SpannableString s = new SpannableString("Settings"); s.setSpan(new TypefaceSpan(this, "Roboto-Medium.ttf"), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setTitle(s); // Display the fragment as the main content. getFragmentManager().beginTransaction() .replace(R.id.fragment_container, new SettingsFragment()) .commit(); } public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { public static final String SHARE_APP_PREFERENCE_KEY = "prefNotify"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActivity().setTheme(R.style.prefCategoryStyle); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.settings); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(SHARE_APP_PREFERENCE_KEY)) { // do something } } } } 文件的代码

activity_settings.xml

这是<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/windowBackground" tools:context="com.abc.xyz.SettingsActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:elevation="4dp"/> <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_below="@id/toolbar" android:layout_height="match_parent"/> </RelativeLayout> 文件的代码

settings.xml

请告诉我这里有什么问题!

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要制作自己的布局以显示标题和摘要。

Ext.Date.parse("2015-10-07T23:59:00", "Y-m-dTH:i:s");

并创建custom_preference_category.xml

<PreferenceCategory
    android:key="prefNotification"
    android:title="@string/prefNotification"
    android:summary="@string/pref_notify_summary"
    android:layout="@layout/custom_preference_category">

了解布局以满足您的需求