Keep TextView text, size, visibility after rotation
So I have a really basic layout where at the top of the screen there is an
EditText and a Button. When someone hits the button, the EditText input is
saved to a text view, then the EditText is hidden as well as the button.
Here's my code for that:
public void setName(View view){
EditText editText = (EditText) findViewById(R.id.getUserName);
Button button = (Button) findViewById(R.id.setName);
TextView textView = (TextView) findViewById(R.id.displayName);
playerName = editText.getText().toString();
textView.setText(playerName);
editText.setVisibility(View.GONE);
button.setVisibility(View.GONE);
textView.setTextSize(40);
textView.setVisibility(View.VISIBLE);
}
Well when the screen is rotated, onCreate is called again, which looks
like this:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_score_keeper);
// Identifies a textView
TextView textView = (TextView) findViewById(R.id.displayName);
// Hide that textView until later
textView.setVisibility(View.GONE);
// Set player name to default value
playerName = "Player Name";
// Set score to default value
score = 0;
}
The problem with this is that it loses the fact that I hid the EditText
and the Button, and also hides the TextView again.
How can I keep all of those properties the same? (eg keep the text the
same, the text size, the visibility of a View, etc); Is it possible to do
with onSaveInstanceState?
Thanks guys.
OSFTW
No comments:
Post a Comment