Я пытаюсь реализовать навигацию в своем приложении, но столкнулся с несколькими проблемами, от которых я не могу избавиться.Реализация навигационного ящика
Когда я пытаюсь запустить приложение, я получаю следующую ошибку. Я попытался изменить различные импорты для фрагментов, я также попытался расширить действие, чтобы расширить фрагменты, но I \, которые дали еще больше ошибок, и пришлось изменить его обратно в AppCompatActivity.
Ошибка
Caused by: java.lang.ClassCastException: android.support.design.widget.CoordinatorLayout cannot be cast to android.support.v4.widget.DrawerLayout
02-18 14:31:11.535 16698-16698/com.example.rory.pocketchef E/AndroidRuntime: at com.example.rory.pocketchef.MainActivity.onCreate(MainActivity.java:42)
линия, реализующая панель навигации
drawerFragment = (FragmentDrawer) getFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar);
drawerFragment.setDrawerListener(this);
Основная деятельность XML, для навигации фрагмента ящика
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<fragment
android:id="@+id/fragment_navigation_drawer"
android:name="com.example.rory.pocketchef.FragmentDrawer"
android:layout_width="@dimen/nav_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
app:layout="@layout/fragment_navigation_drawer"
tools:layout="@layout/fragment_navigation_drawer" />
</android.support.design.widget.CoordinatorLayout>
Просим выслать ваш activity.xml. Ваш DrawerLayout выглядит как CoordinatorLayout ... –
Выполнено, я использую табулированные представления для разных действий, если это имеет значение – JJSmith
Проблема, похоже, в этой строке: 'setUp (R.id.fragment_navigation_drawer, (DrawerLayout) findViewById (R.id.drawer_layout), 'который вы добавили' drawer_layout' из 'CoordinatorLayout' и как' DrawerLayout' – Mohsen