【问题标题】:SettingsActivity/Fragment is showing options out of the layout bounderiesSettingsActivity/Fragment 显示布局边界之外的选项
【发布时间】:2013-12-20 14:26:58
【问题描述】:

我创建了一个带有 PreferenceFragment 的 PreferenceActivity。但是所有设置的内容都显示在布局边界之外,我做错了什么?

设置活动:

public class SettingsActivity extends PreferenceActivity {
    @Override
    protected void onCreate(final Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
    }

    public static class MyPreferenceFragment extends PreferenceFragment
    {
        @Override
        public void onCreate(final Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);
        }
    }
}

preferences.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
 <PreferenceCategory android:title="My list of Preferences">
  <CheckBoxPreference android:title="Checkbox Preference"
   android:defaultValue="false" android:summary="This preference can be true or false"
   android:key="checkboxPref" />
  <EditTextPreference android:name="EditText Preference"
   android:summary="This allows you to enter a string"
   android:defaultValue="Nothing" android:title="Edit This Text"
   android:key="editTextPref" />
  <RingtonePreference android:name="Ringtone Preference"
   android:summary="Select a ringtone" android:title="Ringtones"
   android:key="ringtonePref" />
  <PreferenceScreen android:key="SecondPrefScreen"
   android:title="Secondary Level" android:summary="This is a sub PreferenceScreen">
   <intent android:action="android.intent.action.VIEW"
    android:targetPackage="com.as400samplecode" android:targetClass="com.as400samplecode.Preferences2" />
  </PreferenceScreen>
  <Preference android:title="Custom Preference"
   android:summary="This works almost like a button" android:key="customPref" />
 </PreferenceCategory>
</PreferenceScreen>

【问题讨论】:

    标签: java android android-layout android-settings


    【解决方案1】:

    我通过使用普通 Activity 而不是 PreferenceActivity 解决了这个问题。

    【讨论】:

      【解决方案2】:

      您不是使用 SharedPreferences 类为首选项添加的代码
      我添加了一个使用您的复选框首选项示例检查下面的代码

          public class PrefsFragment extends PreferenceFragment {    
          @Override    
          public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);      
      addPreferencesFromResource(R.xml.preferences);     
      }    
          }
      

      //xml Preference.xml

      <PreferenceCategory
              android:title="PreferenceCategory A">
      
          <CheckBoxPreference
                  android:key="checkbox_preference"
                  android:title="title_checkbox_preference"
                  android:summary="summary_checkbox_preference" />
      
      </PreferenceCategory>
      
      <PreferenceCategory
              android:title="PreferenceCategory B">
      
          <EditTextPreference
                  android:key="edittext_preference"
                  android:title="title_edittext_preference"
                  android:summary="summary_edittext_preference"
                  android:dialogTitle="dialog_title_edittext_preference" />
      
      </PreferenceCategory>
      

      【讨论】:

      • 他正在尝试创建一个偏好片段。您正在扩展一项活动。这对初学者来说是错误的!
      • 我确实想使用偏好片段,因为 Android 提供了它,我想使用它。
      • 请检查上面的代码是否有效...或者检查链接android-er.blogspot.in/2012/07/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      相关资源
      最近更新 更多