扩大包含片段的ViewStub时是否有任何问题?在crashalytics中,我很少看到
Fatal Exception: android.view.InflateException
Binary XML file line #2: Error inflating class fragment
造成原因
Caused by java.lang.IllegalStateException
动作由onclick触发,如下所示。
public void openPlayer() {
if (mSlidingLayout != null) {
if (mSlidingLayout.findViewById(R.id.viewer_stub) != null) {
ViewStub stub = (ViewStub) mSlidingLayout.findViewById(R.id.viewer_stub);
stub.inflate();
}
mSlidingLayout.expandPanel();
}
}
最佳答案
最近,我遇到了同样的问题,并进行了测试。
ViewStub中的片段确实起作用。
唯一的区别是,当在ViewStub上调用inflate()方法时,Fragment将开始其生命周期。
您的问题出在片段内容之内。
为了测试,我创建了一个片段,该片段放在ViewStub内,并在即将创建视图时引发RTE。
public class UserSetupFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
System.out.println("Create View");
throw new RuntimeException("Test");
}
}
在控制台上,我收到以下异常:
01-02 06:48:19.260: E/AndroidRuntime(31533): android.view.InflateException: Binary XML file line #6: Error inflating class fragment
如您所见,如果在成功返回视图之前发生任何崩溃,您将收到InflateException。
您应该在fragment类中进行调试,或者发布其代码。
关于android - 膨胀包含 fragment 的Viewstub,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29354902/