1

我有一个活动来使用一个 FragmentPreference 来表示首选项屏幕。

活动布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<fragment
    android:id="@+id/frag"
    android:name="com.test.preference.Frag"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

偏好xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="General">
    <SwitchPreference android:title="Enable module" android:key="asd" android:summaryOff="Turn on module" android:summaryOn="Turn off module"/>
    <SwitchPreference android:title="Post in application" android:key="qwe" android:summary="Show posts in application"/>
    <SwitchPreference android:title="Post in widget" android:key="zxc" android:summary="Show posts in widget"/>
</PreferenceCategory>

活动类:

public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
}

最后是片段类:

public class Frag extends PreferenceFragment{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.test);
}
}

活动正常启动,但是当我单击第一个 SwitchPreference 时,它​​的状态保持不变,而其他两个 SwitchPreference 改变了它们的状态!

如果我使用不推荐使用的方法(没有片段的 PreferenceActivity)它可以工作。

有人可以帮助我吗?

朱利奥

4

0 回答 0