我在調用setContentView()
之後獲取有關視圖的信息時出現問題。點擊按鈕後,我將更改活動的佈局。這是我的代碼的例子。等待setContentView()方法
public void onClickButton1(View v) {
setContentView(R.layout.activity_main);
setScreen();
}
但durring執行setScreen()
方法,佈局仍不會呈現,所以我不能叫上一些人認爲意在佈局(分別是我,但我總是得到0)getWidth()
。我怎樣才能等到setContentView()
完成?請注意,使用這個:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
setScreen();
}
對我來說是不夠的。我需要在活動週期中獨立更改佈局。
請問爲什麼你這樣做而不是使用新的'Activity'或'Fragments'?這通常不是一個好辦法,恕我直言, – codeMagic 2013-04-10 18:13:49
我在android開發中很新,在我看來,它是最簡單的方法。可能是我應該改變我的方法。非常感謝 – Mara 2013-04-10 18:42:15
雖然我同意codeMagic關於使用活動和片段,對於正在通過Android編碼學習他們的方式的人,我建議做同樣有效的工作..只是要意識到它可能不是最好的內存/設備支持/穩定性。一旦你開始思考Java和android/gradle開發,那麼你會發現你會在學習一種有效的方法/方法的幾天內重新編寫/重新編碼你的應用程序。 – Mayhem 2014-02-03 02:21:49