Android 启动时加载片段时应用程序崩溃
我目前正在学习android,在我当前的项目中,我使用fragment加载起始页 这是我的框架布局:Android 启动时加载片段时应用程序崩溃,android,android-fragments,Android,Android Fragments,我目前正在学习android,在我当前的项目中,我使用fragment加载起始页 这是我的框架布局: <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behav
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" /><![CDATA[
/>
在oncreate活动中,我使用以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_activity);
toolbar = getSupportActionBar();
toolbar.setTitle("Home");
loadFragment(new HomeFragment());
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
但我的应用程序似乎总是在启动时崩溃。有什么想法吗
顺便说一句,很抱歉英语不好
编辑:
代码事务上似乎存在问题。替换
transaction.replace(R.id.frame_container, fragment);
当我把它注释掉时,我的应用程序可以运行,但我无法加载片段
编辑2:
以下是我的应用程序崩溃的原因:
2018-11-07 08:44:44.469 20414-20414/com.example.han.xvit
D/AndroidRuntime:关闭VM 2018-11-07 08:44:44.470
20414-20414/com.example.han.xvit E/AndroidRuntime:致命异常:
主要的
进程:com.example.han.xvit,PID:20414
java.lang.RuntimeException:无法启动活动组件信息{com.example.han.xvit/com.example.han.xvit.home_activity}:
java.lang.RuntimeException:com.example.han.xvit.home_activity@a800718
必须实现OnFragmentInteractionListener
在android.app.ActivityThread.PerformLaunchActivityActivityRead.java:2721
位于android.app.ActivityThread.handleLaunchActivityActivityRead.java:2782
在android.app.ActivityThread上。-wrap12ActivityThread.java
在android.app.ActivityThread$H.handleMessageActivityThread.java:1521
位于android.os.Handler.dispatchMessageHandler.java:102
在android.os.Looper.Looper.java:163
在android.app.ActivityThread.mainActivityThread.java:6228
在java.lang.reflect.Method.Invokenactive方法中
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.runZygoteInit.java:904
位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:794
原因:java.lang.RuntimeException:com.example.han.xvit.home_activity@a800718必须实施
OnFragmentInteractionListener
com.example.han.xvit.HomeFragment.HomeFragment.java:83
位于android.support.v4.app.FragmentManagerImpl.moveToStateFragmentManager.java:1404
在android.support.v4.app.FragmentTransition.addToFirstInLastOutFragmentTransition.java:1195
在android.support.v4.app.FragmentTransition.calculateFragmentsFragmentTransition.java:1078
在android.support.v4.app.FragmentTransition.startTransitionsFragmentTransition.java:117
在android.support.v4.app.FragmentManagerImpl.executeOpsTogetherFragmentManager.java:2408
在android.support.v4.app.FragmentManagerImpl.RemovedAndToOperationsAndExecuteFragmentManager.java:2366
在android.support.v4.app.FragmentManagerImpl.ExecutePendingActionsFragmentManager.java:2273
位于android.support.v4.app.FragmentManagerImpl.dispatchStateChangeFragmentManager.java:3273
位于android.support.v4.app.FragmentManagerImpl.dispatchActivityCreatedFragmentManager.java:3229
位于android.support.v4.app.FragmentController.dispatchActivityCreatedFragmentController.java:201
在android.support.v4.app.FragmentActivity.onStartFragmentActivity.java:620
位于android.support.v7.app.AppCompatActivity.onStartAppCompatActivity.java:178
在android.app.Instrumentation.callActivityOnStartInstrumentation.java:1249
在android.app.Activity.performStartActivity.java:6897
在android.app.ActivityThread.PerformLaunchActivityActivityRead.java:2684
位于android.app.ActivityThread.handleLaunchActivityActivityRead.java:2782
在android.app.ActivityThread.-wrap12ActivityThread.java
在android.app.ActivityThread$H.handleMessageActivityThread.java:1521
位于android.os.Handler.dispatchMessageHandler.java:102
在android.os.Looper.Looper.java:163
在android.app.ActivityThread.mainActivityThread.java:6228
在java.lang.reflect.Method.Invokenactive方法中
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.runZygoteInit.java:904
位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:794
编辑3:
我成功地解决了这个问题。我的家庭活动似乎缺少几个片段实现
可以在中看到解决方案。首先,删除,使布局如下所示:
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
然后,从以下错误日志:
com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:904位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:794由以下原因引起:java.lang.RuntimeException:com.example.han.xvit.home_activity@a800718必须在com.example.han.xvit.HomeFragment.onAttachHomeFragment.java:83处实现OnFragmentInteractionListener
这意味着您需要在活动中实现OnFragmentInteractionListener,因为HomeFragment需要它。请检查您的主页。可能会从您的XML布局中删除和/>?Noope,仍然是Crassesi,我明白了,您无论如何都不需要这些。你也可以发布错误日志吗?什么是app:layout_b
ehavior=@string/appbar\u scrolling\u view\u behavior/>问题是,由于我在手机上编译应用程序,因此没有错误日志。应用程序只是崩溃了,就是这样。
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />