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