使用Fragment的Android SwitchPreference

时间:2012-05-12 16:08:31

标签: android android-layout

我有一个活动来使用一个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),它可以工作。

有人可以帮助我吗?

Giulio的

0 个答案:

没有答案