意外隐式强制转换为String:布局标记为EditText错误

时间:2019-07-13 08:55:03

标签: java android android-studio android-layout androidx

我收到此错误。

无法解决此错误,请提供帮助。

项目中没有其他错误。

坚持下去。

MainActivity

 public class MainActivity extends AppCompatActivity {

    String name, email;
    FirebaseAuth mAuth;
    Button submit;
    DatabaseReference rootRef,demoRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE); //will hide the title
        getSupportActionBar().hide(); // hide the title bar
        setContentView(R.layout.activity_main);

        name =  findViewById(R.id.uName);
        email = findViewById(R.id.uEmail);

我正在使用constarint布局。我已将所有设置正确。

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    android:gravity="center">

    <EditText
        android:id="@+id/uName"
        android:layout_width="0dp"
        android:layout_height="58dp"
        android:layout_marginStart="48dp"
        android:layout_marginLeft="48dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="48dp"
        android:layout_marginRight="48dp"
        android:background="@drawable/border"
        android:hint="@string/name"
        android:paddingLeft="5dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

错误

Unexpected implicit cast to String: layout tag was EditText less... (Ctrl+F1) 
Inspection info:Keeps track of the view types associated with ids and if it finds a usage of the id in the Java code it ensures that it is treated as the same type.  Issue id: WrongViewCast
 Type parameter T has incompatible upper bounds: View and String

1 个答案:

答案 0 :(得分:0)

您好,欢迎来到堆栈溢出

实际上,您正在尝试从布局中获取对editText的引用。

{"ticker":["This field is required."],"Price":["This field is required."]}

变量name = findViewById(R.id.uName);不是name类型的变量。它是EditText类型的变量。这就是为什么您的应用程序显示强制转换异常的原因。 使用String代替EditText并替换

String

使用

String name, email;