每当我在应用程序中单击“登录”按钮时,它就会崩溃并显示错误。这是我的activity_sign_in.xml和我的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>


登录文件

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);


“由于:java.lang.ClassCastException:android.support.v7.widget.AppCompatTextView无法转换为com.rey.material.widget.TextView”

最佳答案

在SignIn.java中检查您的导入。您可能正在导入com.rey.material.widget.TextView而不是android.widget.TextView。
如果要使用com.rey TextView而不是普通的TextView,则必须编写

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


在您的xml中。

关于java - 小部件未转换。我如何解决它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57010028/

10-14 17:26