android.view.TextureView 无法转换为 android.widget.TextView |不能让它工作

android.view.TextureView cannot be cast to android.widget.TextView | Can't make it work

我正在 Android Studio 中构建一个应用程序,在该应用程序中您可以在 SQLite 数据库中搜索,编译时没有给我任何错误,但在虚拟设备中运行时却没有打不开,应用崩溃。

Logcat 说转换中有错误,但我能找到它:

java.lang.ClassCastException: android.view.TextureView cannot be cast to android.widget.TextView

请注意,我正在学习,所以肯定有我遗漏或语法错误的地方

代码如下:

class SearchViewHolder extends RecyclerView.ViewHolder{

    public TextView name,address,email,phone;

    public SearchViewHolder(View itemView){
        super(itemView);
        name = (TextView)itemView.findViewById(R.id.name);
        address = (TextView)itemView.findViewById(R.id.address);
        email = (TextView)itemView.findViewById(R.id.email);
        phone = (TextView)itemView.findViewById(R.id.phone);
    }
}

public class SearchAdapter extends RecyclerView.Adapter<SearchViewHolder>{

    private Context context;
    private List<Friend> friends;

    public SearchAdapter(Context context, List<Friend> friends) {
        this.context = context;
        this.friends = friends;
    }

    @Override
    public SearchViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        View itemView = inflater.inflate(R.layout.layout_item,parent,false);
        return new SearchViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull SearchViewHolder holder, int position) {

        holder.name.setText(friends.get(position).getName());
        holder.address.setText(friends.get(position).getAddress());
        holder.email.setText(friends.get(position).getEmail());
        holder.phone.setText(friends.get(position).getPhone());

    }

    @Override
    public int getItemCount() {
        return friends.size();
    }
}

有什么建议吗?

检查您的 layout_item xml。在那里,您应该至少有一次将 TextView 错误地定义为 TextureView