Android studio 2.3导航抽屉:当选择片段时应用退出

时间:2017-04-17 13:06:45

标签: android android-studio android-fragments

我开始创建我的第一个Android应用程序。

我已经阅读了很多关于这个主题的文章和帖子,但它们已经很老了,我在那里找不到任何帮助,因为我认为它现在有些不同了。

所有内容似乎都与我所遵循的教程一样,但当我点击抽屉时,应用程序退出。

有我的content_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="be.boisdelacambre.ecole.ecolebdc.MainActivity"
    tools:showIn="@layout/app_bar_main">

    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

</RelativeLayout> 

我创建了一个名为AccueilFragment的新空白片段(已选中所有框)。我在fragment_accueil.xml中添加了一些文本标签。

当我点击第一个抽屉时,它会崩溃:

 public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_accueil) {
            AccueilFragment accueilFragment = new AccueilFragment();
            FragmentManager manager = getSupportFragmentManager();
            manager.beginTransaction().replace(R.id.frame_container, accueilFragment, "Accueil").commit();

...(文件默认继续)

有人能告诉我为什么会出错吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案:

我在创建片段时点击了2个框。

我有这些功能:

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

我换了:

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
    }

它现在有效。谢谢大家!