我知道這是可能有縱向和橫向模式的佈局(這不是問題)。在縱向模式下說我要顯示3個textviews(其實我有3個不同的圖形,每個軸一個XYZ),並在景觀我只想要一個TextView的(在我的情況下,它包含了所有3軸一個圖表),都在那裏查看了他們自己的ID。Android的肖像VS景觀
在相應的活動現在,你怎麼設置的UI控件?由於在橫向模式下,只有一個TextView的,而在縱向模式下我得到3.所以,當我在縱向模式來的。我只能寫些東西在TextView的1 2和3,但沒有到景觀的TextView的,反之亦然。
手動檢查,如果該UI控件是在這裏(NOT NULL)不能正確的解決方案,對不對?
e.g
說,在縱向模式我有ID爲「文本1」和一個景觀以「文本2」一個TextView。 現在在活動的上創建方法,我做到以下幾點:
text1 = (TextView) findViewById(R.id.text1);
text2 = (TextView) findViewById(R.id.text2);
text1.setText("some text");
text2.setText("some other text");
我會永遠,因爲在兩種情況下textviews的一個不存在得到了NullPointerException
。在使用它之前可以檢查該字段是否爲空,但是會引入更多的邏輯來處理 - 所以它不易維護
0123其實這是我現在正在做的,但我在多個地方使用textviews,並始終把非空檢查放在前面類似的東西吹了一下代碼,並使其不易讀 - 所以我認爲可能有另一種最佳做法。 當然,設置視圖隱藏的問題「浪費」資源,但在我的情況下,這不是一個真正的問題,所以我選擇了它,因爲我不需要任何額外的代碼邏輯。 – kmera