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