getInt を使用して設定から整数を取得しようとしているため、ユーザーが設定でスポーツを選択すると、選択したスポーツに応じて異なるレイアウトが設定されます
私のJava
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getPrefs.getInt("sports", 1)){
setContentView(R.layout.main);
}else if(getPrefs.getInt("sports", 1)){
setContentView(R.layout.hockey);
}else if(getPrefs.getInt("sports", 1)){
setContentView(R.layout.basketball);
}
私の好みのxml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<ListPreference
android:entries="@array/list"
android:key="sports"
android:summary="Choose your sport"
android:title="Sports"
android:entryValues="@array/lValues"
android:defaultValue="1">
</ListPreference>
私の配列xml
<string-array name="list">
<item >
Soccer
</item>
<item >
Lacross
</item>
<item >
Hockey
</item>
<item >
VolleyBall
</item>
<item >
Basketball
</item>
</string-array>
<string-array name="lValues">
<item >
1
</item>
<item >
2
</item>
<item >
3
</item>
<item >
4
</item>
<item>
5
</item>
</string-array>
下にエラーが表示されます
getPrefs.getInt("sports", 1)
それが違いを生む場合、最小sdkとターゲットsdkは両方とも10です。