gpt4 book ai didi

android - 膨胀包含 fragment 的 Viewstub

转载 作者:行者123 更新时间:2023-11-29 00:12:17 25 4
gpt4 key购买 nike

膨胀包含 fragment 的 View stub 时是否有任何问题。在 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 中的一个 fragment 可以工作。

唯一的区别是,当对 ViewStub 调用 inflate() 方法时,Fragment 将开始其生命周期。


您的问题出在 fragment 内容中。

为了测试,我创建了一个 Fragment,它进入 ViewStub 并在即将创建 View 时抛出一个 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

如您所见,如果在您的 View 成功返回之前发生任何崩溃,您将收到 InflateException。

您应该在 fragment 类内部进行调试,或发布其代码。

关于android - 膨胀包含 fragment 的 Viewstub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com