java - 如何将 appcompactactivity 更改为片段
问题描述
我正在尝试将硬代码测验与底部导航栏集成在一起。当我选择测验部分时应用程序崩溃。这是我第一次将两个不同的应用程序合二为一。
对不起我的完整代码,因为我真的不知道这些问题。
我想知道如何将 appcompactactivity 更改为片段。
这是代码:
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_exercise, container, false);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
textViewHighscore = getView().findViewById(R.id.text_view_highscore);
spinnerCategory = getView().findViewById(R.id.spinner_category);
spinnerDifficulty = getView().findViewById(R.id.spinner_difficulty);
loadCategories();
loadDifficultyLevels();
loadHighscore();
Button buttonStartQuiz = getView().findViewById(R.id.button_start_quiz);
buttonStartQuiz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startQuiz();
}
});
}
crash log:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 12669
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
at com.example.myapplication.ExerciseFragment.onCreate(ExerciseFragment.java:43)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2586)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:838)
at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1197)
at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1080)
at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:119)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1866)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
解决方案
推荐阅读
- python - Python3 RE匹配字符或行尾没有字符
- php - PHP Youtube Data API:未捕获的异常:此库必须通过 composer 安装或下载完整包
- performance - Why is "MOVQ 0x30(SP), DX" slow?
- elasticsearch - 从 Graylog/Elasticsearch 中删除日志
- c# - C# Regex for getting all possible matches
- python - 熊猫字符串替换一个圆括号后的任何字符串值“python只有一个圆括号
- android - 如何访问文档的随机 ID 以附加它包括文档的字段?
- node.js - 如何在标准输出节点中记录请求
- prose-mirror - prosemiMirror:将 JSON 输出转换为 HTML
- mysql - 删除级联上的 MySQL 自引用表