Abh*_* Bm 2 java android android-fragments
我是相对较新的Android,为了检查片段是否已经在堆栈中我从FragmentManager获取片段列表,稍后迭代列表并检查那里的片段然后我会相应地加载它.当我在下面的代码片段中检查片段的名称时,问题是得到NPE,即使在进行空检查之后也是如此.任何想法....请帮助.
if (null != frags) {
for (int i = 0; i <frags.size(); i++) {
if (frags.get(i).getClass().getName() == backStateName) {// NPE at getclass while juggling fragments in and out of the stack
Fragment frag = frags.get(i);
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.event_frame, frag);
ft.commit();
return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
一个ArrayList可以包含空条目.
使用支持库的FragmentManager实现,永远不会从活动片段列表中删除片段.相反,它们在ArrayList中的位置只是设置为null.
因此,当您遍历返回的活动片段列表时getFragments(),您应该进行空检查,因为它们中至少有一个是空的.
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |