onsavedinstancestate doesn't appear to support double array list what are my options?
OnSavedInstanceState
in android doesn't appear to save double array list. I'm thinking the best way thing to do here is to convert the double array list to a double array, How do I go about doing that?
Is there a better option than convert double array list to double array.
/* Storage for parsed JSON data */
private List<String> mPosterPaths = new ArrayList<>();
private List<String> mTitleList = new ArrayList<>();
private List<String> mDescriptionList = new ArrayList<>();
private List<Double> mRatingList = new ArrayList<>();
private List<String> mDateList = new ArrayList<>();
private List<Integer> mIdList = new ArrayList<>();
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Double rating = mRatingList.toArray(new Double[0]);
outState.putString("SavedState", mSortType);
outState.putStringArrayList("PosterPath", (ArrayList<String>) mPosterPaths);
outState.putStringArrayList("MovieTitle", (ArrayList<String>) mTitleList);
outState.putIntegerArrayList("MovieID", (ArrayList<Integer>) mIdList);
outState.putStringArrayList("Plot", (ArrayList<String>) mDescriptionList);
outState.putDoubleArray("Rating", mRatingList);
outState.putStringArrayList("Release Date", (ArrayList<String>) mDateList);
}
android
add a comment |
OnSavedInstanceState
in android doesn't appear to save double array list. I'm thinking the best way thing to do here is to convert the double array list to a double array, How do I go about doing that?
Is there a better option than convert double array list to double array.
/* Storage for parsed JSON data */
private List<String> mPosterPaths = new ArrayList<>();
private List<String> mTitleList = new ArrayList<>();
private List<String> mDescriptionList = new ArrayList<>();
private List<Double> mRatingList = new ArrayList<>();
private List<String> mDateList = new ArrayList<>();
private List<Integer> mIdList = new ArrayList<>();
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Double rating = mRatingList.toArray(new Double[0]);
outState.putString("SavedState", mSortType);
outState.putStringArrayList("PosterPath", (ArrayList<String>) mPosterPaths);
outState.putStringArrayList("MovieTitle", (ArrayList<String>) mTitleList);
outState.putIntegerArrayList("MovieID", (ArrayList<Integer>) mIdList);
outState.putStringArrayList("Plot", (ArrayList<String>) mDescriptionList);
outState.putDoubleArray("Rating", mRatingList);
outState.putStringArrayList("Release Date", (ArrayList<String>) mDateList);
}
android
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28
add a comment |
OnSavedInstanceState
in android doesn't appear to save double array list. I'm thinking the best way thing to do here is to convert the double array list to a double array, How do I go about doing that?
Is there a better option than convert double array list to double array.
/* Storage for parsed JSON data */
private List<String> mPosterPaths = new ArrayList<>();
private List<String> mTitleList = new ArrayList<>();
private List<String> mDescriptionList = new ArrayList<>();
private List<Double> mRatingList = new ArrayList<>();
private List<String> mDateList = new ArrayList<>();
private List<Integer> mIdList = new ArrayList<>();
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Double rating = mRatingList.toArray(new Double[0]);
outState.putString("SavedState", mSortType);
outState.putStringArrayList("PosterPath", (ArrayList<String>) mPosterPaths);
outState.putStringArrayList("MovieTitle", (ArrayList<String>) mTitleList);
outState.putIntegerArrayList("MovieID", (ArrayList<Integer>) mIdList);
outState.putStringArrayList("Plot", (ArrayList<String>) mDescriptionList);
outState.putDoubleArray("Rating", mRatingList);
outState.putStringArrayList("Release Date", (ArrayList<String>) mDateList);
}
android
OnSavedInstanceState
in android doesn't appear to save double array list. I'm thinking the best way thing to do here is to convert the double array list to a double array, How do I go about doing that?
Is there a better option than convert double array list to double array.
/* Storage for parsed JSON data */
private List<String> mPosterPaths = new ArrayList<>();
private List<String> mTitleList = new ArrayList<>();
private List<String> mDescriptionList = new ArrayList<>();
private List<Double> mRatingList = new ArrayList<>();
private List<String> mDateList = new ArrayList<>();
private List<Integer> mIdList = new ArrayList<>();
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Double rating = mRatingList.toArray(new Double[0]);
outState.putString("SavedState", mSortType);
outState.putStringArrayList("PosterPath", (ArrayList<String>) mPosterPaths);
outState.putStringArrayList("MovieTitle", (ArrayList<String>) mTitleList);
outState.putIntegerArrayList("MovieID", (ArrayList<Integer>) mIdList);
outState.putStringArrayList("Plot", (ArrayList<String>) mDescriptionList);
outState.putDoubleArray("Rating", mRatingList);
outState.putStringArrayList("Release Date", (ArrayList<String>) mDateList);
}
android
android
edited Nov 13 '18 at 3:27
asked Nov 13 '18 at 3:14
morefaster
478
478
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28
add a comment |
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28
add a comment |
1 Answer
1
active
oldest
votes
You could try to convert your ratings List
to an Array
:
double ratings = new double[mRatingList.size()];
for (int i = 0; i < mRatingList.size(); i++) {
ratings[i] = mRatingList.get(i);
}
savedInstanceState.putDoubleArray("Rating", ratings);
And when it is being restored:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
double ratings = savedInstanceState.getDoubleArray("Rating");
List<Double> ratingList = new ArrayList<>();
for (double rating : ratings) {
ratingList.add(rating);
}
// ...
}
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way itsdouble
notDouble
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.
– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
Were you trying to print byarray.toString()
? That'd only give you a hash value. If you want to print readable strings, then tryArrays.toString(array)
.
– Aaron
Nov 13 '18 at 4:36
|
show 4 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273256%2fonsavedinstancestate-doesnt-appear-to-support-double-array-list-what-are-my-opt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You could try to convert your ratings List
to an Array
:
double ratings = new double[mRatingList.size()];
for (int i = 0; i < mRatingList.size(); i++) {
ratings[i] = mRatingList.get(i);
}
savedInstanceState.putDoubleArray("Rating", ratings);
And when it is being restored:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
double ratings = savedInstanceState.getDoubleArray("Rating");
List<Double> ratingList = new ArrayList<>();
for (double rating : ratings) {
ratingList.add(rating);
}
// ...
}
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way itsdouble
notDouble
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.
– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
Were you trying to print byarray.toString()
? That'd only give you a hash value. If you want to print readable strings, then tryArrays.toString(array)
.
– Aaron
Nov 13 '18 at 4:36
|
show 4 more comments
You could try to convert your ratings List
to an Array
:
double ratings = new double[mRatingList.size()];
for (int i = 0; i < mRatingList.size(); i++) {
ratings[i] = mRatingList.get(i);
}
savedInstanceState.putDoubleArray("Rating", ratings);
And when it is being restored:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
double ratings = savedInstanceState.getDoubleArray("Rating");
List<Double> ratingList = new ArrayList<>();
for (double rating : ratings) {
ratingList.add(rating);
}
// ...
}
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way itsdouble
notDouble
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.
– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
Were you trying to print byarray.toString()
? That'd only give you a hash value. If you want to print readable strings, then tryArrays.toString(array)
.
– Aaron
Nov 13 '18 at 4:36
|
show 4 more comments
You could try to convert your ratings List
to an Array
:
double ratings = new double[mRatingList.size()];
for (int i = 0; i < mRatingList.size(); i++) {
ratings[i] = mRatingList.get(i);
}
savedInstanceState.putDoubleArray("Rating", ratings);
And when it is being restored:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
double ratings = savedInstanceState.getDoubleArray("Rating");
List<Double> ratingList = new ArrayList<>();
for (double rating : ratings) {
ratingList.add(rating);
}
// ...
}
You could try to convert your ratings List
to an Array
:
double ratings = new double[mRatingList.size()];
for (int i = 0; i < mRatingList.size(); i++) {
ratings[i] = mRatingList.get(i);
}
savedInstanceState.putDoubleArray("Rating", ratings);
And when it is being restored:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
double ratings = savedInstanceState.getDoubleArray("Rating");
List<Double> ratingList = new ArrayList<>();
for (double rating : ratings) {
ratingList.add(rating);
}
// ...
}
edited Nov 13 '18 at 5:09
answered Nov 13 '18 at 3:51
Aaron
1,6831212
1,6831212
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way itsdouble
notDouble
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.
– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
Were you trying to print byarray.toString()
? That'd only give you a hash value. If you want to print readable strings, then tryArrays.toString(array)
.
– Aaron
Nov 13 '18 at 4:36
|
show 4 more comments
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way itsdouble
notDouble
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.
– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
Were you trying to print byarray.toString()
? That'd only give you a hash value. If you want to print readable strings, then tryArrays.toString(array)
.
– Aaron
Nov 13 '18 at 4:36
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
This didn't work for me unless I'm missing something. This is what the Log.d Prints back. D/doubleconvert: arrayList[6.6, 5.6, 8.3, 7.6, 6.0, 8.3, 7.5, 6.2, 5.3, 7.3, 6.9, 7.0, 6.6, 6.9, 5.5, 6.5, 6.4, 4.1, 6.1, 6.9] 2018-11-12 21:07:49.064 23845-23845/com.shawn.nichol.moviesstage2 D/doubleconvert: array[D@81ead05
– morefaster
Nov 13 '18 at 4:11
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
As you mentioned, Bundle doesn't support list of doubles. But it supports array of doubles, so you could try to convert the list to an array and put them in the Bundle, unless I misunderstood you?
– Aaron
Nov 13 '18 at 4:20
@morefaster By the way its
double
not Double
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.– Aaron
Nov 13 '18 at 4:24
@morefaster By the way its
double
not Double
if that's what you mean, otherwise other options will be converting those to Serializable or Parcelable, or even String.– Aaron
Nov 13 '18 at 4:24
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
I just caught that two thinking that might the issue but I still get this response from the Log [D@a983e61.
– morefaster
Nov 13 '18 at 4:27
1
1
Were you trying to print by
array.toString()
? That'd only give you a hash value. If you want to print readable strings, then try Arrays.toString(array)
.– Aaron
Nov 13 '18 at 4:36
Were you trying to print by
array.toString()
? That'd only give you a hash value. If you want to print readable strings, then try Arrays.toString(array)
.– Aaron
Nov 13 '18 at 4:36
|
show 4 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273256%2fonsavedinstancestate-doesnt-appear-to-support-double-array-list-what-are-my-opt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Please post the code, and also please note that when you store data in bundle it should be parcelable or serilizable
– Rohit
Nov 13 '18 at 3:22
I've include the my code hopefully that helps
– morefaster
Nov 13 '18 at 3:28