0

我们遇到了 FragmentViewPager 和 Fragments 的问题。

我们正在使用 CursorLoader 在片段中填充列表。视图寻呼机由 4 个页面组成。

基本上,当从一个片段滑动到另一个片段时它工作得很好,但是一旦我们在片段 A 的上下文中从服务中提取数据并滑动到片段 B 然后 C 等等,片段中的列表似乎没有加载,即空白屏幕,但如果设备的屏幕被关闭然后在片段内的列表中显示数据。

在游标加载器的 onLoadFinished 方法中,我们在每次刷新时重置适配器。

我很难找到解决方案。有什么建议吗?

附加信息,我有时也会收到此堆栈跟踪。

09-21 15:20:44.489: INFO/dalvikvm(21106): Landroid/view/ViewRoot$CalledFromWrongThreadException;: 只有创建视图层次结构的原始线程才能触摸它的视图。09-21 15:20:44.497: INFO/dalvikvm(21106): 在 android.view.ViewRoot.checkThread(ViewRoot.java:2932) 09-21 15:20:44.497: INFO/dalvikvm(21106): 在 android. view.ViewRoot.requestLayout(ViewRoot.java:629) 09-21 15:20:44.501: INFO/dalvikvm(21106): 在 android.view.View.requestLayout(View.java:8267) 09-21 15:20: 44.501: INFO/dalvikvm(21106): 在 android.view.View.requestLayout(View.java:8267) 09-21 15:20:44.501: INFO/dalvikvm(21106): 在 android.view.View.requestLayout(View .java:8267) 09-21 15:20:44.501: INFO/dalvikvm(21106): 在 android.view.View.requestLayout(View.java:8267) 09-21 15:20:44.517: INFO/dalvikvm(21106 ):在安卓。

谢谢,

阿克谢

4

1 回答 1

0

我们似乎已经弄清楚了发生这种情况的原因,但并没有真正的解释,也许有人可以详细说明一下。

来自服务器的响应在片段中使用 service+ResultReceiver 来通知 UI 后台 httpservice 完成,这在活动中使用时可以正常工作,但是使用片段从处理程序到 UI 的任何钩子都会导致 UI 崩溃,如如果 UI 更改是从单独的线程中进行的,并且日志中没有一致的抱怨,除了上面看到的偶尔出现的错误。一旦我们在结果接收器中使用处理程序来通知 UI 更改,我们就不再面临这个问题。

阿克谢

于 2011-09-25T19:07:11.983 回答