使用 View.inflate 时产生 "找不到符号" 或者 "找不到ID" 的错误

本文介绍了在使用layout的xml文件时,如果文件名包含大写字母或特殊符号可能会导致错误的问题。文章提供了解决方法:将文件名改为全部小写的格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为引用的 layout 的 xml 文件名包含了大写字母或者特殊符号! 导致出现这个错误. 改成小写的标准文件名即可.

package com.example.dell.recyclerview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private String[] names = {"小猫", "哈士奇", "小黄鸭", "小鹿", "老虎"}; private int[] icons = {R.drawable.cat, R.drawable.siberianhusky, R.drawable.yellowduck, R.drawable.fawn, R.drawable.tiger}; private String[] introduces = { "猫,属于猫科动物,分家猫、野猫,是全世界家庭中较为广泛的宠物。", "西伯利亚雪橇犬,常见别名哈士奇,昵称为二哈。", "鸭的体型相对较小,颈短,一些属的嘴要大些。腿位于身体后方,因而步态蹒跚。", "鹿科是哺乳纲偶蹄目下的一科动物。体型大小不等,为有角的反刍类。", "虎,大型猫科动物;毛色浅黄或棕黄色,满有黑色横纹;头圆、耳短,耳背面黑色,中央有一白斑甚显著;四肢健壮有力;尾粗长,具黑色环纹,尾端黑色。" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化recyclerView RecyclerView recyclerView = findViewById(R.id.recyclerview); // 将适配器设置在recyclerView中 // setLayoutManager 设置布局的显示效果 // this 表示所展示的上下文信息 (只写this)表示垂直显示 // LinearLayoutManager.HORIZONTAL,true 表示展示的条目数为水平摆放,并且可以设置true或false来显示左划或者右划 recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,true)); // 创建适配器对象 HomeAdapter homeAdapter = new HomeAdapter(); // 将适配器添加到recyclerView控件中 recyclerView.setAdapter(homeAdapter); } // 数据适配器 需要继承RecyclerView.Adapter<>需要MyViewHolder class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder>{ @Override //加载item界面的布局文件 返回MyViewHolder对象 public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.recycler_item,parent,false); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder; } @Override // 获取数据,显示到对应的控件上 public void onBindViewHolder(MyViewHolder holder, int position) { holder.name.setText(names[position]); holder.introduce.setText(introduces[position]); holder.iv.setImageResource(icons[position]); } @Override // 获取列表条目的总数 public int getItemCount() { return names.length; } class MyViewHolder extends RecyclerView.ViewHolder{ TextView name; TextView introduce; ImageView iv; public MyViewHolder(View itemView) { super(itemView); // 构造方法中初始化 name = itemView.findViewById(R.id.name); introduce = itemView.findViewById(R.id.introduce); iv = itemView.findViewById(R.id.iv); } } } } 这是我的安卓代码,现在文件显示错误了Cannot resolve symbol 'RecyclerView Cannot resolve symbol 'LinearLayoutManager
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值