我刚刚开始使用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();
}
上面的代码在附加调试时工作正常。但它不适用于运行时(没有调试模式)。我也尝试过睡眠,但视野没有变化。
有人可以详细解释这里发生了什么吗?
提前致谢:)
答案 0 :(得分:0)
听起来像某种竞争条件:)尝试在处理程序中调用invalidate并在配置更改结束时调用处理程序:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Handler handler = new Handler()
{
public void handleMessage(Message msg)
{
invalidate();
}
}
handler.sendEmptyMessage(0);