进入该片段后屏幕变白。第二次应用程序停止工作。怎么解决这个问题?

问题描述 投票:0回答:1

@覆盖 public View onCreateView(LayoutInflater inflater, ViewGroup 容器, 捆绑savedInstanceState){

    context = getActivity();
    view = inflater.inflate(R.layout.fragment_shor1, container, false);
    NumberPicker1.setDisplayedValues(primeNumbers);

我只是想让fragment成功打开并且进入fragment后不显示白屏。白屏后,应用程序停止工作。

java android
1个回答
0
投票

要了解确切原因,请从

adb logcat
输出开始,

adb logcat | grep -F "`adb shell ps | grep com.asanayoga.asanarebel  | tr -s [:space:] ' ' | cut -d' ' -f2`"

参考:https://stackoverflow.com/a/9869609/6680585

搜索

AndroidRuntime
,它将显示崩溃来源的堆栈跟踪。这将帮助您快速调试。


如果上述日志没有帮助,以下是我要研究的潜在领域,

上下文处理:您正在分配 context = getActivity();这很好,但如果您使用此上下文来执行需要有效的非空上下文的操作,并且片段尚未附加到活动,这可能会导致问题。

膨胀布局:line view = inflater.inflate(R.layout.fragment_shor1,container, false);似乎是正确的,但请确保 R.layout.fragment_shor1 是正确的布局文件并且结构正确。布局结构不正确或布局名称中的拼写错误可能会导致崩溃。

NumberPicker 初始化:您提到了 NumberPicker1.setDisplayedValues(primeNumbers);,但不清楚 NumberPicker1 在此行之前是否已正确初始化。如果 NumberPicker1 为 null 或未正确初始化,尝试对其调用 setDisplayedValues 将导致 NullPointerException。

缺少 primeNumbers 初始化:如果当您尝试将 primeNumbers 设置为 NumberPicker 时,primeNumbers 未初始化或为 null,这也可能会导致问题。

缺少 onCreateView 的重写:确保正确使用 @Override,并且此方法正确重写 Fragment 类中的 onCreateView 方法。

错误处理:可能会抛出未捕获的异常,从而导致应用程序崩溃。实施正确的错误处理可以更深入地了解问题所在。

© www.soinside.com 2019 - 2024. All rights reserved.