캐스트 할 수없는보기 :안드로이드 MultiSelectListPreference, java.lang.String의 내가 내 설정을 MultiSelectListPreference을 구현하려고 java.util.Set을
이<MultiSelectListPreference
android:title="@string/title"
android:summary="@string/message"
android:key="pref_foobar"
android:defaultValue="@array/empty_array"
android:entries="@array/fooArray"
android:entryValues="@array/fooValues" />
배열 :
<resources>
<string-array name="fooArray">
<item>Foo</item>
<item>Bar</item>
</string-array>
<string-array name="fooValues">
<item>foo_value</item>
<item>bar_value</item>
</string-array>
<string-array name="empty_array"/>
</resources>
그러나이 제공 나에게 다음과 같은 예외 :
java.lang.RuntimeException가 : 활동 COMPONENTI을 시작할 수 없습니다 NFO {com.myproject/.SettingsActivity} : java.lang.ClassCastException가 : http://pastebin.com/kBDByXY5
어떤 아이디어가 무슨 잘못 : java.lang.String의는 에 java.util.Set을
전체 스택 트레이스를 캐스팅 할 수 없습니다 ?
코드 : 이미 장치 또는 에뮬레이터에서이 키 아래 일반 String
선호도를 가지고있는 것처럼
public class SettingsActivity extends Activity {
private static final String TAG_SETTINGS_FRAGMENT = "SETTINGS_FRAGMENT";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new PreferenceFragment(), TAG_SETTINGS_FRAGMENT).commit();
}
}
public static class PreferenceFragment extends android.preference.PreferenceFragment{
public PreferenceFragment() {
//required
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
}
여기에 코드를 붙여 넣을 수 있습니까? – Kiloreux
@AIL 설정은 xml에서 생성되기 때문에 특별한 코드는 없습니다. 'addPreferencesFromResource (R.xml.preferences);'모든 마법을 수행합니다. –
내 안드로이드 프로젝트에 코드를 복사하여 복사해도 아무런 문제가 없습니다. 프로젝트를 다시 빌드하고 문제가 지속되면 알려주십시오. – mrroboaat