[英]Android : Cannot cast FloatLabeledEditText to EditText
我正在嘗試從模板復制設計,但是出現轉換錯誤。 我是使用3rd party庫和Android編程的新手,所以我希望這不會成為問題。
另外,我有2個文本字段和2個按鈕(注冊,登錄)。 通過觀察,我將它設置為登錄碼誰能告訴我type
正確。 非常感謝。
錯誤日志:
1-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: FATAL EXCEPTION: main
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: Process: mypackage.restaurantlunchify, PID: 7038
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: java.lang.ClassCastException: mypackage.restaurantlunchify.Templates.FloatLabeledEditText cannot be cast to android.widget.EditText
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at mypackage.restaurantlunchify.Login.Login$2.onClick(Login.java:61)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.view.View.performClick(View.java:4785)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at mypackage.restaurantlunchify.Templates.MaterialRippleLayout$PerformClickEvent.run(MaterialRippleLayout.java:568)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at mypackage.restaurantlunchify.Templates.MaterialRippleLayout$3.onAnimationEnd(MaterialRippleLayout.java:315)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.animation.AnimatorSet$AnimatorSetListener.onAnimationEnd(AnimatorSet.java:829)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1089)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:666)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:682)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:792)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:596)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:556)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:778)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.os.Looper.loop(Looper.java:155)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5696)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
11-17 16:26:18.136 7038-7038/mypackage.restaurantlunchify E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
登錄代碼:
public class Login extends Activity {
public static RestTemplate rest = StaticRestTemplate.rest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
TextView restaurantRegister = (TextView) findViewById(R.id.registerRestaurantButton);
restaurantRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(v == null)) {
Intent intent = new Intent(Login.this, AddRestaurant.class);
startActivity(intent);
finish();
}
}
});
TextView loginButton = (TextView) findViewById(R.id.LoginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(v == null)) {
EditText userEmail = (EditText) findViewById(R.id.usernameText);
EditText userPassword = (EditText) findViewById(R.id.PasswordField);
}
}
Login.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="@drawable/login_background_dark"
android:orientation="vertical"
android:padding="24dp"
android:weightSum="1">
<mypackage.restaurantlunchify.Templates.FontelloTextView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="64dp"
android:layout_marginLeft="140dp"
android:layout_marginStart="140dp"
android:layout_marginTop="64dp"
android:text="@string/fontello_logo"
android:textColor="@color/main_color_50"
android:textSize="64dp"
tools:ignore="SpUsage" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
>
<mypackage.restaurantlunchify.Templates.FontelloTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/fontello_user"
android:textColor="@color/main_color_50"
android:textSize="16dp"
tools:ignore="SpUsage" />
<mypackage.restaurantlunchify.Templates.FloatLabeledEditText
android:id="@+id/usernameText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_weight="1"
app:fletHintTextColor="@color/main_color_A100"
app:fletSingleLine="true"
app:fletFloatingHint="Username"
app:fletTextColor="@color/main_color_grey_50"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center_vertical"
>
<mypackage.restaurantlunchify.Templates.FontelloTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/fontello_password"
android:textColor="@color/main_color_50"
android:textSize="16dp"
tools:ignore="SpUsage" />
<mypackage.restaurantlunchify.Templates.FloatLabeledEditText
android:id="@+id/PasswordField"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_weight="1"
app:fletFloatingHint="@string/password"
app:fletHintTextColor="@color/main_color_A100"
app:fletPassword="true"
app:fletSingleLine="true"
app:fletTextColor="@color/main_color_grey_50" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="54dp">
<mypackage.restaurantlunchify.Templates.MaterialRippleLayout
style="@style/RippleStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="3dp"
android:layout_marginRight="3dp"
android:text="@string/fontello_password"
app:rippleColor="@color/main_color_grey_400">
<mypackage.restaurantlunchify.Templates.RobotoTextView
android:id="@+id/LoginButton"
style="@style/ButtonStyle.RaisedEmpty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.08"
android:background="@color/main_color_900"
app:fletFloatingHint="@string/password"
android:minWidth="112dp"
android:text="Login"
android:textColor="#fff" />
</mypackage.restaurantlunchify.Templates.MaterialRippleLayout>
<mypackage.restaurantlunchify.Templates.MaterialRippleLayout
style="@style/RippleStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="54dp"
app:rippleColor="@color/main_color_grey_400">
<mypackage.restaurantlunchify.Templates.RobotoTextView
android:id="@+id/registerRestaurantButton"
style="@style/ButtonStyle.RaisedEmpty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/main_color_900"
android:minWidth="112dp"
android:text="Register"
android:textColor="#fff" />
</mypackage.restaurantlunchify.Templates.MaterialRippleLayout>
</LinearLayout>
</LinearLayout>
如果需要其他文件或信息,請告訴我。 參考模板甚至沒有處理Java代碼中的輸入,因此我不知道該如何命名。
這是每個UI文件擴展的內容:
公共類FontelloTextView擴展TextView公共類FloatLabeledEditText擴展LinearLayout公共類MaterialRippleLayout擴展FrameLayout {公共類RobotoTextView擴展TextView {
謝謝.. :-)
FloatLabeledEditText
有很多。所以我不知道您使用的是FloatLabeledEditText
。
至
<mypackage.restaurantlunchify.Templates.FloatLabeledEditText
android:id="@+id/usernameTextFloat"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_weight="1"
app:fletHintTextColor="@color/main_color_A100"
app:fletSingleLine="true"
app:fletFloatingHint="Username"
app:fletTextColor="@color/main_color_grey_50">
<EditText @+id/usernameText android:layout_height="wrap_content" android:layout_width="match_parent" />
<mypackage.restaurantlunchify.Templates.FloatLabeledEditText/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.