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);
}
}
そして最後にFragment クラス:
public class Frag extends PreferenceFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.test);
}
}
アクティビティは正常に開始されますが、最初の SwitchPreference をクリックすると、そのステータスは同じままで、他の 2 つの SwitchPreference のステータスが変わります!
非推奨のメソッド (フラグメントなしの PreferenceActivity) を使用すると、機能します。
誰かが私を助けることができますか?
ジュリオ