[英]Inconvertible types: cannot cast 'android.view.View' to 'android.widget.EditText'
我是 android 工作室的新手。 我只是在地址活动中添加 EditText。
我收到此错误:
不可转换的类型:不能将 android.view.View 转换为 android.widget.EditText on (EditText) findViewById(R.id.xmlid);
地址活动:
package com.onlinefire.e_shop.activities;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;
import com.onlinefire.e_shop.R;
import java.util.HashMap;
import java.util.Map;
public class AddAddressActivity extends AppCompatActivity {
EditText name;
EditText address;
EditText city;
EditText postalCode;
EditText phoneNumber;
Toolbar toolbar;
Button addAddressBtn;
FirebaseFirestore firestore;
FirebaseAuth auth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_address);
toolbar = findViewById(R.id.add_address_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
auth = FirebaseAuth.getInstance();
firestore = FirebaseFirestore.getInstance();
name = (EditText) findViewById(R.id.ad_name);
address = (EditText) findViewById(R.id.ad_address);
city = findViewById(R.id.ad_city);
phoneNumber = findViewById(R.id.ad_phone);
postalCode = (EditText) findViewById(R.id.ad_code);
addAddressBtn = findViewById(R.id.ad_add_address);
addAddressBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String userName = name.getText().toString();
String userCity = city.getText().toString();
String userAddress = address.getText().toString();
String userCode = postalCode.getText().toString();
String userNumber = phoneNumber.getText().toString();
String final_address = "";
if (!userName.isEmpty()) {
final_address+=userName+", ";
}
if (!userCity.isEmpty()) {
final_address+=userCity+", ";
}
if (!userAddress.isEmpty()) {
final_address+=userAddress+", ";
}
if (!userCode.isEmpty()) {
final_address+=userCode+", ";
}
if (!userNumber.isEmpty()) {
final_address+=userNumber+", ";
}
if (!userName.isEmpty() && !userCity.isEmpty() && !userAddress.isEmpty() && !userCode.isEmpty() && !userNumber.isEmpty()){
Map<String,String> map = new HashMap<>();
map.put("userAddress",final_address);
firestore.collection("CurrentUser").document(auth.getCurrentUser().getUid())
.collection("Address").add(map).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
@Override
public void onComplete(@NonNull Task<DocumentReference> task) {
if (task.isSuccessful()){
Toast.makeText(AddAddressActivity.this, "Address Added", Toast.LENGTH_SHORT).show();
startActivity(new Intent(AddAddressActivity.this,AddressActivity.class));
finish();
}
}
});
}else {
Toast.makeText(AddAddressActivity.this, "Kindly Fill All Field", Toast.LENGTH_SHORT).show();
}
}
});
}
}
活动添加地址:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.onlinefire.e_shop.activities.AddAddressActivity">
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="56dp"
android:layout_marginTop="24dp"
android:text="Create Address"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/add_address_toolbar" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout3"
android:layout_width="300dp"
android:layout_height="64dp"
android:layout_marginTop="40dp"
android:hint="Name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.424"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8">
<EditText
android:id="@+id/ad_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout4"
android:layout_width="300dp"
android:layout_height="64dp"
android:layout_marginTop="10dp"
android:hint="Address Lane"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.424"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout3">
<EditText
android:id="@+id/ad_address"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout5"
android:layout_width="300dp"
android:layout_height="64dp"
android:layout_marginTop="10dp"
android:hint="City"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.424"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout4">
<EditText
android:id="@+id/ad_city"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout6"
android:layout_width="300dp"
android:layout_height="64dp"
android:layout_marginTop="10dp"
android:hint="Postal Code"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.424"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout5">
<EditText
android:id="@+id/ad_code"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="300dp"
android:layout_height="64dp"
android:layout_marginTop="10dp"
android:hint="Phone Number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.424"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout6">
<EditText
android:id="@+id/ad_phone"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/ad_add_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:backgroundTint="@color/blue"
android:text="Add Address"
android:textColor="@android:color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.504"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
任何类似的问题都对我没有帮助。 请帮我。
您可以通过删除 Android Studio 项目中的 R.java 文件来解决此问题。
很抱歉回答我自己的问题。
此错误已通过删除 Android Studio 项目中的 R.java 文件得到解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.