簡體   English   中英

方向更改后無法設置Button的ImageResource

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM