save and restore GridView's textview data and its's attributes even after app close
My actual app design has much more complex layout involving GridView with custom adapter, ListView etc and I assume same applies to basic TextView and hence sharing just simple code here.
I already gone though long thread at Saving Android Activity state using Save Instance State and learned(some of them might be assumptions) lot of thing about activity life cycle, fragments , pros/cons of both SavedInstanceState , SharedPreferences etc.
But I still couldn't find how to store TextView's DATA and its ATTRIBUTES for ex. BackgroundColor to retains both after app closed,reopened and also when orientation changed. The other thread I mention above suggests of using SharedPreferences for data which lives long even after app exit and onSaveInstanceState,onRestoreInstanceState for temporary data but nothing specifically about saving view's attributes textsize, backgroundcolor etc when apps is closed.
I assume TextView's text is Data and BackgroundColor is state and both SharedPreferences and onSaveInstanceState should be required?
I also assume same solution would work for CustomAdapter of GridView and ListView because basically it contains TextView as its element or do I need different approach to save and restore for storing data,attributes of elements(TextView) of GridView?.
Sample code below in which three TextView is created dynamically and added to LinearLayout and on click event of TextView its Text,BackgroundColor will be changed. These both changes should be restore when app is closed and also when orientation changed.
public class MainActivity extends AppCompatActivity{
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout mDynamicLayout = findViewById(R.id.dynnamicLayout);
for( int i = 1; i < 4; i++ ) {
TextView test = (TextView) getLayoutInflater().inflate(R.layout.gv_item_fixedline,mDynamicLayout,false); // Magic!
int newId = View.generateViewId();
test.setId(newId);
test.setText(Integer.toString(i)); // Remove this if you set text in the xml
test.setTextColor(Color.WHITE);
addListeners(test);
mDynamicLayout.addView(test, i-1); // Bang!
}
}
private void addListeners(final TextView test) {
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked");
int val = Integer.parseInt(test.getText().toString());
val++;
test.setText(Integer.toString(val));
test.setBackgroundColor(Color.MAGENTA);
}
});
}
}
gridview textview state custom-adapter
add a comment |
My actual app design has much more complex layout involving GridView with custom adapter, ListView etc and I assume same applies to basic TextView and hence sharing just simple code here.
I already gone though long thread at Saving Android Activity state using Save Instance State and learned(some of them might be assumptions) lot of thing about activity life cycle, fragments , pros/cons of both SavedInstanceState , SharedPreferences etc.
But I still couldn't find how to store TextView's DATA and its ATTRIBUTES for ex. BackgroundColor to retains both after app closed,reopened and also when orientation changed. The other thread I mention above suggests of using SharedPreferences for data which lives long even after app exit and onSaveInstanceState,onRestoreInstanceState for temporary data but nothing specifically about saving view's attributes textsize, backgroundcolor etc when apps is closed.
I assume TextView's text is Data and BackgroundColor is state and both SharedPreferences and onSaveInstanceState should be required?
I also assume same solution would work for CustomAdapter of GridView and ListView because basically it contains TextView as its element or do I need different approach to save and restore for storing data,attributes of elements(TextView) of GridView?.
Sample code below in which three TextView is created dynamically and added to LinearLayout and on click event of TextView its Text,BackgroundColor will be changed. These both changes should be restore when app is closed and also when orientation changed.
public class MainActivity extends AppCompatActivity{
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout mDynamicLayout = findViewById(R.id.dynnamicLayout);
for( int i = 1; i < 4; i++ ) {
TextView test = (TextView) getLayoutInflater().inflate(R.layout.gv_item_fixedline,mDynamicLayout,false); // Magic!
int newId = View.generateViewId();
test.setId(newId);
test.setText(Integer.toString(i)); // Remove this if you set text in the xml
test.setTextColor(Color.WHITE);
addListeners(test);
mDynamicLayout.addView(test, i-1); // Bang!
}
}
private void addListeners(final TextView test) {
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked");
int val = Integer.parseInt(test.getText().toString());
val++;
test.setText(Integer.toString(val));
test.setBackgroundColor(Color.MAGENTA);
}
});
}
}
gridview textview state custom-adapter
add a comment |
My actual app design has much more complex layout involving GridView with custom adapter, ListView etc and I assume same applies to basic TextView and hence sharing just simple code here.
I already gone though long thread at Saving Android Activity state using Save Instance State and learned(some of them might be assumptions) lot of thing about activity life cycle, fragments , pros/cons of both SavedInstanceState , SharedPreferences etc.
But I still couldn't find how to store TextView's DATA and its ATTRIBUTES for ex. BackgroundColor to retains both after app closed,reopened and also when orientation changed. The other thread I mention above suggests of using SharedPreferences for data which lives long even after app exit and onSaveInstanceState,onRestoreInstanceState for temporary data but nothing specifically about saving view's attributes textsize, backgroundcolor etc when apps is closed.
I assume TextView's text is Data and BackgroundColor is state and both SharedPreferences and onSaveInstanceState should be required?
I also assume same solution would work for CustomAdapter of GridView and ListView because basically it contains TextView as its element or do I need different approach to save and restore for storing data,attributes of elements(TextView) of GridView?.
Sample code below in which three TextView is created dynamically and added to LinearLayout and on click event of TextView its Text,BackgroundColor will be changed. These both changes should be restore when app is closed and also when orientation changed.
public class MainActivity extends AppCompatActivity{
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout mDynamicLayout = findViewById(R.id.dynnamicLayout);
for( int i = 1; i < 4; i++ ) {
TextView test = (TextView) getLayoutInflater().inflate(R.layout.gv_item_fixedline,mDynamicLayout,false); // Magic!
int newId = View.generateViewId();
test.setId(newId);
test.setText(Integer.toString(i)); // Remove this if you set text in the xml
test.setTextColor(Color.WHITE);
addListeners(test);
mDynamicLayout.addView(test, i-1); // Bang!
}
}
private void addListeners(final TextView test) {
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked");
int val = Integer.parseInt(test.getText().toString());
val++;
test.setText(Integer.toString(val));
test.setBackgroundColor(Color.MAGENTA);
}
});
}
}
gridview textview state custom-adapter
My actual app design has much more complex layout involving GridView with custom adapter, ListView etc and I assume same applies to basic TextView and hence sharing just simple code here.
I already gone though long thread at Saving Android Activity state using Save Instance State and learned(some of them might be assumptions) lot of thing about activity life cycle, fragments , pros/cons of both SavedInstanceState , SharedPreferences etc.
But I still couldn't find how to store TextView's DATA and its ATTRIBUTES for ex. BackgroundColor to retains both after app closed,reopened and also when orientation changed. The other thread I mention above suggests of using SharedPreferences for data which lives long even after app exit and onSaveInstanceState,onRestoreInstanceState for temporary data but nothing specifically about saving view's attributes textsize, backgroundcolor etc when apps is closed.
I assume TextView's text is Data and BackgroundColor is state and both SharedPreferences and onSaveInstanceState should be required?
I also assume same solution would work for CustomAdapter of GridView and ListView because basically it contains TextView as its element or do I need different approach to save and restore for storing data,attributes of elements(TextView) of GridView?.
Sample code below in which three TextView is created dynamically and added to LinearLayout and on click event of TextView its Text,BackgroundColor will be changed. These both changes should be restore when app is closed and also when orientation changed.
public class MainActivity extends AppCompatActivity{
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout mDynamicLayout = findViewById(R.id.dynnamicLayout);
for( int i = 1; i < 4; i++ ) {
TextView test = (TextView) getLayoutInflater().inflate(R.layout.gv_item_fixedline,mDynamicLayout,false); // Magic!
int newId = View.generateViewId();
test.setId(newId);
test.setText(Integer.toString(i)); // Remove this if you set text in the xml
test.setTextColor(Color.WHITE);
addListeners(test);
mDynamicLayout.addView(test, i-1); // Bang!
}
}
private void addListeners(final TextView test) {
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked");
int val = Integer.parseInt(test.getText().toString());
val++;
test.setText(Integer.toString(val));
test.setBackgroundColor(Color.MAGENTA);
}
});
}
}
gridview textview state custom-adapter
gridview textview state custom-adapter
asked Nov 19 '18 at 17:16
kirankingkiranking
50827
50827
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
SharedPrefererences, should be used to store small amounts of data. If you have to store bigger amounts consider using SQLite
add a comment |
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%2f53379651%2fsave-and-restore-gridviews-textview-data-and-itss-attributes-even-after-app-cl%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
SharedPrefererences, should be used to store small amounts of data. If you have to store bigger amounts consider using SQLite
add a comment |
SharedPrefererences, should be used to store small amounts of data. If you have to store bigger amounts consider using SQLite
add a comment |
SharedPrefererences, should be used to store small amounts of data. If you have to store bigger amounts consider using SQLite
SharedPrefererences, should be used to store small amounts of data. If you have to store bigger amounts consider using SQLite
answered Nov 21 '18 at 10:09
SkypeDoggSkypeDogg
8711
8711
add a comment |
add a comment |
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.
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%2f53379651%2fsave-and-restore-gridviews-textview-data-and-itss-attributes-even-after-app-cl%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