0
由於我的應用程序沒有任何未由UI表示的數據,因此嘗試讀取UI小部件以便在事件發生時恢復基礎「模型」對象的狀態如發生屏幕旋轉。它似乎不適用於EditText,但對Spinners來說似乎很奇怪。下面是一些代碼片段:試圖讀取UI以堅持活動數據
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
....
metalSpinner = (Spinner) findViewById(R.id.metal_spinner);
....
lengthText = (EditText) findViewById(R.id.length_edittext);
....
createAndInitializeModel();
}
private void createAndInitializeModel() {
vdropModel = new VdropModel();
....
String al = (String) (metalSpinner.getSelectedItem());
vdropModel.setAlum(al.equals("Aluminum"));
....
if (!(lengthText.getText().toString().equals(""))) {
vdropModel.setLengthInFeet(Double.parseDouble(lengthText.getText()
.toString()));
}
}
出於某種原因,這不是明顯對我來說,「如果」語句createAndInitializeModel()將始終評估爲假改變屏幕方向發生後,甚至認爲小部件是仍然顯示一個值,並且vdropModel不會恢復。然而,Spinner窗口小部件的值會被恢復。這對我來說沒有意義,有什麼想法?