Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal Exception when using Floating Action Button [closed]

A Fragment from my Navigation drawer contains two RelativeLayouts that are supposed to act as buttons to navigate to two different Activities. This is the code for that layout:

<?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"
   android:background="#B3E5FC"
   android:layout_width="match_parent"
   android:layout_height="match_parent">


<RelativeLayout
    android:id="@+id/existingClientChoiceLayout"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentTop="true"
    android:background="@color/colorAccent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="126dp"
        android:text="Existing Client"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:id="@+id/newClientChoiceLayout"
    android:layout_height="300dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@color/light_red">

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="138dp"
        android:text="New Client"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold" />

  </RelativeLayout>
 </RelativeLayout>

In the layout of the Activity am supposed to navigate to from existingClientChoiceLayout, I have this:

<?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_new_client"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="judeochalifu.teylur.activities.NewClientActivity">


<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_margin="14dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/ic_menu_send"
    app:fabSize="normal" />

</RelativeLayout>

The (relevant) Fragment code looks like this:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.new_entry_layout, container, false);
    existingClientChoiceLayout = (RelativeLayout) rootView.findViewById(R.id.existingClientChoiceLayout);
    newClientChoiceLayout = (RelativeLayout) rootView.findViewById(R.id.newClientChoiceLayout);

    existingClientChoiceLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(mContext, ExistingClientsViewActivity.class));
            Toast.makeText(mContext, "Clicked", Toast.LENGTH_SHORT).show();
        }
    });

    newClientChoiceLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(mContext, NewClientActivity.class));
        }
    });

    return rootView;
}

Now, when I run the code everything looks fine.When I click on the option for this Fragment from the navigation menu, I get the WEIRD error message:

java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView cannot be cast to android.widget.RelativeLayout

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: judeochalifu.teylur, PID: 4746
              java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView cannot be cast to android.widget.RelativeLayout
                  at judeochalifu.teylur.fragments.NewEntryFragment.onCreateView(NewEntryFragment.java:47)
                  at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
                  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
                  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
                  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
                  at android.os.Handler.handleCallback(Handler.java:751)
                  at android.os.Handler.dispatchMessage(Handler.java:95)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6077)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Application terminated.

However, if I delete the FAB, everything works fine.

I've searched for related questions with similar titles, but none matches my specific problem.

like image 259
Ojonugwa Jude Ochalifu Avatar asked Jan 25 '26 10:01

Ojonugwa Jude Ochalifu


1 Answers

Faced a similar problem, This is how I fixed:

  1. Clean Project (from the Build menu)
  2. Rebuild Project (from the Build menu)
like image 108
OBX Avatar answered Jan 28 '26 00:01

OBX



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!