私は現在、ビューと状態を操作する方法を学ぼうとしています。通常、次のような関数で色を設定できます。
View mColorRegion = findViewById(R.id.color_region);
mColorRegion.setBackgroundColor(Color.CYAN);
ただし、 onRestoreInstanceState()で色を設定できないようです。
mColorRegion.setBackgroundColor(savedInstanceState.getInt("color"));
ただし、TextView と同じビューを使用すると、次のようにテキストを復元できます。
TextView mText = (TextView)findViewById(R.id.color_region);
mText.setText(savedInstanceState.getString("text");
違いは何ですか? onRestoreInstanceState()で背景色を設定するにはどうすればよいですか?
編集:元の投稿以来、私は2つのことに気づきました:
1) onCreate()mColorRegion.setBackgroundColor(Color.CYAN)
でも動作しないようです。
2) 次の関数は、ボタンが押されたときにビューの色を正しく変更しますが、 onRestoreInstanceState()から直接呼び出すと機能しません。
public void centerButton1(View clickedButton) {
mColorRegion.setBackgroundColor(Color.CYAN);
}
うーん...