У меня есть полный код, скопированный как файл от android.preference.MultiSelectListPreference
. Я столкнулся странные ошибки компиляции для следующего внутреннего класса:Ошибка Android класса Parcel
линии # 1, исходный код и я добавил #line 2
Для линии # 2
Несоответствие типа: не удается преобразовать из аннулированным String []
и для раскомментировать линии # 1
Множественные маркеры на этой линии - несоответствие типов: невозможно преобразовать из пустоты в строку [] - Метод readStringArray (String []) в типе посылки не применяется для аргументов()
private static class SavedState extends BaseSavedState {
Set<String> values;
public SavedState(Parcel source) {
super(source);
values = new HashSet<String>();
//String[] strings = source.readStringArray(); //Line #1
String[] strings = source.readStringArray(values.toArray(new String[0])); //Line #2
final int stringCount = strings.length;
for (int i = 0; i < stringCount; i++) {
values.add(strings[i]);
}
}
public SavedState(Parcelable superState) {
super(superState);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeStringArray(values.toArray(new String[0]));
}
public static final Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
}
public SavedState[] newArray(int size) {
return new SavedState[size];
}
};
}
Я действительно удивлен этими ошибками компиляции! Я на самом деле пишу свое предпочтение с несколькими избранными, но сталкиваюсь с одной и единственной ошибкой, изложенной выше, и не имею понятия, как ее решить.
Цените любую помощь.
прочитайте документацию ... http://developer.android.com/reference/android/os/Parcel.html#readStringArray(java.lang.String[])если вы все еще не читаете ее снова. . и опять ... – Selvin