2013-01-14 23 views
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窗口小部件的值會被恢復。這對我來說沒有意義,有什麼想法?

回答

0

在清單中設置活動的配置更改此

android:configChanges="orientation"