0

Ce n'est pas un problème propre et reconstruire à TOUS! Faire le module ne sera pas résoudre ce problème non plus. C'est le seul FlotingActionButton que j'utilise dans mon code. Une solution a dit que seulement se produit avec un paramètre d'ancrage mais comme vous pouvez le voir je n'utilise pas un donc je ne sais pas quoi en faire.java.lang.ClassCastException: android.support.v7.widget.AppCompatButton ne peut pas être converti en android.support.design.widget.FloatingActionButton

<?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:id="@+id/activity_main" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/coverpic" 
    tools:context="com.android.nohiccupsbeta.MainActivity"> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/effects_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_gravity="top|end" 
      android:layout_marginTop="400dp" 
      android:layout_marginRight="15dp" 
      android:src="@drawable/ic_book" 
      app:backgroundTint="@color/primary_color" /> 

    </android.support.design.widget.CoordinatorLayout> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/take_test" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|end" 
      android:layout_margin="@dimen/fab_margin" 
      app:backgroundTint="@color/primary_color" 
      android:src="@drawable/ic_handcuffs" /> 

    </android.support.design.widget.CoordinatorLayout> 

</RelativeLayout> 

Ceci est le code JAVA. J'ai essayé d'importer la disposition de coordinateur mais cela n'est pas possible. J'ai aussi essayé de déclarer le var fabuleux différemment juste pour obtenir la même erreur:

package com.android.nohiccupsbeta; 

import android.content.Intent; 
import android.support.design.widget.FloatingActionButton; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, pageone.class)); 
      } 
     }); 


     FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2); 
     fab2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(MainActivity.this, BacTest.class)); 
      } 
     }); 
    } 

} 

Répondre

2

Votre deuxième FloatingActionButton ne dispose pas d'un identifiant, et celui que vous essayez de jeter dans un FAB est le CoordinatorLayout.

Donc, vous devez définir un ID dans votre mise en page pour vos usines de fabrication comme celui-ci

<?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:id="@+id/activity_main" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/coverpic"> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/effects_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_gravity="top|end" 
      android:layout_marginTop="400dp" 
      android:layout_marginRight="15dp" 
      android:src="@drawable/ic_book" 
      app:backgroundTint="@color/primary_color" /> 

    </android.support.design.widget.CoordinatorLayout> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/take_test" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|end" 
      android:layout_margin="@dimen/fab_margin" 
      app:backgroundTint="@color/primary_color" 
      android:src="@drawable/ic_handcuffs" /> 

    </android.support.design.widget.CoordinatorLayout> 

</RelativeLayout> 

et vos usines de fabrication pour répondre aux nouveaux ids comme celui-ci

FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab); 
FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2); 
+0

Il a une D.I.. Je l'ai quand même essayé et j'ai mis l'identifiant sous le bouton d'action flottante et j'ai donné un identifiant différent à la disposition du coordinateur. J'ai eu la même erreur – 7kevin

+0

Vous avez le même problème avec le premier fab. Mise à jour de ma réponse avec le code de travail – hacksy

+0

OK J'ai changé le code maintenant Je reçois un message d'erreur différent dans le journal java.lang.NullPointerException: Tentative d'invoquer la méthode virtuelle 'void android.support.design.widget.FloatingActionButton.setOnClickListener (android .view.View $ OnClickListener) 'sur une référence d'objet nul at com.android.nohiccupsbeta.MainActivity.onCreate (MainActivity.java:18) – 7kevin