![](/img/trans.png)
[英]spinner setSelection: unable to set position after orientation change
[英]Unable to set ImageResource of Button after orientation change
目的是改變按鈕的圖像資源。 如果我不更改方向它可以正常工作,但如果我更改方向,圖像資源不會設置(或可能不更新)。 我在DebugMode中觀察到,無論屏幕方向是否改變,總是執行以下代碼(toggleButton方法)。 buttonIconID也始終正確。 問題是,在更改方向后未設置按鈕的圖像資源。
@Override
public void onCreate(Bundle savedInstanceState) {
...
mTopBar = new TopBar(this);
...
}
TopBar構造函數:
public TopBar(MainActivity mainActivity) {
this.mainActivity = mainActivity;
mButton = (ImageButton) mainActivity
.findViewById(R.id.toggleButton);
mButton.setOnTouchListener(this);
...
}
TopBar中的toggleButton方法:
public void toggleButton(final int buttonIconID) {
mainActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mButton.setImageResource(buttonIconID);
}
});
}
謝謝你的幫助!
每次更改方向時都會重新創建Activity
。 因此,當您更改方向時,所有視圖都將重置為其標准配置(或您在onCreate()
/ onResume()
等方法中設置的設置。
因此,如果要保留在更改方向后以編程方式設置的圖像資源,則應緩沖數據並在onCreate()
或onResume()
方法中再次設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.