2016-09-14 12 views
0

なぜこの例外が発生するのかわかりません。ここでjava.lang.ClassCastException:android.support.design.widget.AppBarLayoutをandroid.support.v7.widget.Toolbarにキャストできません。

は私のコードです -

toolbar.xml

<android.support.design.widget.AppBarLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/appbar" 
    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" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:layout_scrollFlags="scroll|enterAlways" /> 
</android.support.design.widget.AppBarLayout> 

私は私のxmlファイルでこのレイアウトを含めています -

<include android:id="@+id/photoGalleryToolbar" 
     layout="@layout/toolbar"/> 

し、私は私の活動に次のコードを使用しています -

Toolbar toolbar = (Toolbar) findViewById(R.id.photoGalleryToolbar); 
     setSupportActionBar(toolbar); 
     final android.support.v7.app.ActionBar actionBar = getSupportActionBar(); 
     if (actionBar != null) { 
      actionBar.setHomeAsUpIndicator(R.drawable.ic_keyboard_backspace_white_24dp); 
      actionBar.setDisplayShowTitleEnabled(true); 
      actionBar.setTitle("Kidster Photo Gallery"); 
      actionBar.setDisplayHomeAsUpEnabled(true); 
     } 

例外は、行を次のように来ている -

Toolbar toolbar = (Toolbar) findViewById(R.id.photoGalleryToolbar); 

私が輸入をチェックしていたし、彼らはすべてが正しいと私はサポートライブラリを使用しています。

答えて

1

あなたのコードに置き換えますと

Toolbar toolbar = (Toolbar) findViewById(R.id.photoGalleryToolbar); 

を:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 

あなたはIDにミスを犯し、R.id.photoGalleryToolbarはあなたがAppBarLayoutで、ここで含まれたレイアウトのルートビューです。 ToolbarのIDは、toolbar.xmlで定義したR.id.toolbarです。

+0

ありがとう@L。私は本当に愚かだった。 – Shubh

関連する問題