2

私はAndroid開発を始めたばかりで、ViewPagerが本当に私を悩ませていることを無効にします:/

向きを変更しているときに ViewPager を無効にする方法を教えてください。

これは私がこれまでに試したことです-

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

     myPager = (ViewPager) findViewById(R.id.my_pager);
     myPager.setAdapter(adapter);
     myPager.setCurrentScreen(currentPosition, false);
     invalidate();
}

上記のコードは、デバッグをアタッチすると正常に動作します。ただし、ランタイムでは機能しません(デバッグモードなし)。スリープも試しましたが、表示に変化はありません。

誰かがここで何が起こっているのかを詳しく説明できますか?

前もって感謝します :)

4

1 に答える 1

0

ある種の競合状態のように聞こえます:)ハンドラー内でinvalidateを呼び出し、構成変更の最後にハンドラーを呼び出してみてください:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    Handler handler = new Handler() 
    { 
          public void handleMessage(Message msg) 
          {
             invalidate();
          }
    }
    handler.sendEmptyMessage(0);
于 2012-07-03T13:49:56.417 に答える