Android Studio cannot resolve symbol R.id.textView问题排查
问题根因
两个异常是关联的,核心是两处疏漏:
activity_display_message.xml是空白布局,根ConstraintLayout节点内没有任何子控件,你漏加了教程要求的、id为textView的TextView,因此不会生成对应R.id.textView资源,这行代码直接导致编译失败。- 当项目存在编译错误时,Android Studio不会将最新修改的代码打包部署到模拟器,当前模拟器上运行的是之前编译通过的旧版本APK——旧版本里你还未实现跳转逻辑,所以点击发送按钮无任何响应,也不会触发崩溃。
修复步骤
- 补全
activity_display_message.xml内容,在根容器内添加带对应id的TextView,配置好约束,修改后完整代码如下:
<?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=".DisplayMessageActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
- 打开
AndroidManifest.xml,确认<application>标签内已经注册DisplayMessageActivity。如果是通过Android Studio向导新建的Activity会自动添加如下节点,手动创建的类需要手动补全:
<activity android:name=".DisplayMessageActivity" android:exported="false" />
- 点击菜单栏
Build > Clean Project,清理完成后执行Build > Rebuild Project,确认编译无报错后,重新运行应用到模拟器即可。
补充说明
MainActivity中EXTRA_MESSAGE常量的包名字符串和当前项目包名不一致,属于规范问题,不影响跳转和传值逻辑,不需要额外修改。
内容的提问来源于stack exchange,提问作者CalciumBromide
相关产品推荐
相关产品推荐

