LinearLayout UI未更新

时间:2014-03-12 17:42:41

标签: android android-layout android-linearlayout

我正在使用Android 4.2,并且在包括Samsung S4和Samsung Galaxy Note 2在内的多种移动设备上出现此问题。

我有一个嵌套在Horizo​​ntalScrollView中的LinearLayout。我以编程方式将ImageViews添加到LinearLayout,如下所示:

//in the actual code this list is handed in as an argument to the method that
//populates the layout
ArrayList<View> views;
LinearLayout layout = (LinearLayout)findViewById(R.id.theid);
//clear any existing views
layout.removeAllViews();
for (View v : views)
{
    layout.addView(v);
}

这是在UI线程上运行。

这可以正常工作然而如果我通过手动关闭设备屏幕或让它超时,然后重新打开,当我运行代码执行此操作时,我的LinearLayout的UI将不再更新以反映视图中的新图像。当我调试时,我发现代码似乎正在做它应该做的一切 - 布局确实有新的视图,我可以在调试器中查看它们,甚至可以通过编程方式单击一个并查看预期的行为,UI根本就没有改变。

我试过调用layout.invalidate()来强制重绘,但仍然没有看到更改。虽然有趣的是,如果我开始另一项活动,然后回击以启动这些布局的活动将会开始按预期工作。

我在这一点上很难过。如果有人之前已经看过这样的行为,或者对于试图解决它的事情有任何建议我会非常感激。非常感谢!

0 个答案:

没有答案