Ad

Widgets Aren't Being Casted. How Do I Fix It?

Whenever I click the sign in button in my app, it just crashes and shows an error. Here is my activity_sign_in.xml and my SignIn.java.

activity_sign_in.xml

<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"
    android:background="@mipmap/background1"
    tools:context=".SignIn">

    <LinearLayout
        android:orientation="vertical"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_centerInParent="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.rengwuxian.materialedittext.MaterialEditText
            android:id="@+id/editPhone"
            android:hint="Phone Number"
            android:textColorHint="@android:color/white"
            android:text="0988112456"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@android:color/white"
            android:textSize="34sp"
            android:inputType="phone"
            app:met_baseColor="@android:color/white"
            app:met_floatingLabel="highlight"
            app:met_maxCharacters="11"
            app:met_primaryColor="@android:color/white"
            app:met_singleLineEllipsis="true"
            />

        <com.rengwuxian.materialedittext.MaterialEditText
            android:id="@+id/editPassword"
            android:hint="Password"
            android:textColorHint="@android:color/white"
            android:text="IMF"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@android:color/white"
            android:textSize="34sp"
            android:inputType="textPassword"
            app:met_baseColor="@android:color/white"
            app:met_floatingLabel="highlight"
            app:met_maxCharacters="11"
            app:met_primaryColor="@android:color/white"
            app:met_singleLineEllipsis="true"
            />

       <LinearLayout
        android:orientation="horizontal"
        android:weightSum="2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

           <CheckBox
               android:id="@+id/ckbRemember"
               style="@style/Material.Drawable.CheckBox"
               android:layout_width="0dp"
               android:layout_weight="1"
               android:layout_height="wrap_content"
               android:text="Remember Me"
               android:gravity="center_vertical"
               android:textColor="@android:color/white"
               app:cbd_tickColor="@color/colorPrimaryDark"
               app:cbd_strokeColor="@android:color/white"

               />

           <TextView
               android:id="@+id/txtForgotPwd"
               android:textColor="@android:color/white"
               android:text="@string/forgot_pwd"
               android:layout_weight="1"
               android:layout_width="0dp"
               android:layout_height="wrap_content" />

       </LinearLayout>


    </LinearLayout>

    <info.hoang8f.widget.FButton
        android:id="@+id/btnSignIn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="@string/Button2"
        android:textColor="@android:color/white"
        app:cornerRadius="4dp"
        app:fButtonColor="#00A9D440"
        app:shadowColor="#00000000"
        app:shadowEnabled="true"
        app:shadowHeight="5dp" />

</RelativeLayout>

SignIn.java

public class SignIn extends AppCompatActivity {

    EditText editPhone,editPassword;
    Button btnSignIn;
    CheckBox ckbRemember;
    TextView txtForgotPwd;

    FirebaseDatabase database;
    DatabaseReference table_user;

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

        editPassword = (MaterialEditText)findViewById(R.id.editPassword);
        editPhone    = (MaterialEditText)findViewById(R.id.editPhone);
        btnSignIn    = (Button)findViewById(R.id.btnSignIn1);
        ckbRemember = (CheckBox)findViewById(R.id.ckbRemember);
        txtForgotPwd = (TextView) findViewById(R.id.txtForgotPwd);

"Caused by: java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView cannot be cast to com.rey.material.widget.TextView"

Ad

Answer

Check your imports in SignIn.java. You are probably importing com.rey.material.widget.TextView instead of android.widget.TextView. If you want to use the com.rey TextView instead of the normal one you have to write

 <com.rey.material.widget.TextView
           android:id="@+id/txtForgotPwd"
           android:textColor="@android:color/white"
           ...

in your xml.

Ad
source: stackoverflow.com
Ad