Android开发调用GalleryActivity报cannot find symbol错误如何解决
错误根因
你将Activity类名GalleryActivity错误当作方法调用,Android 不存在通过类名加括号直接启动Activity的语法,编译器找不到对应方法因此抛出该错误。
修复步骤
- 替换ProfileActivity中点击事件的错误代码
把原来的GalleryActivity();替换为Intent跳转逻辑:Intent intent = new Intent(ProfileActivity.this, GalleryActivity.class); startActivity(intent); - 检查注册配置
确认AndroidManifest.xml的application标签内已经注册GalleryActivity,未注册的话补充以下代码:<activity android:name=".GalleryActivity" android:exported="false" />
附加问题修复(否则跳转后会崩溃)
你的GalleryActivity代码存在两个隐藏问题,需要同步修改:
- 未加载布局也未绑定
imageView控件,直接调用setImageURI会触发空指针异常,修改onCreate方法如下:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 替换为你GalleryActivity对应的布局文件,布局内需包含对应id的ImageView setContentView(R.layout.activity_gallery); // 替换为你布局中ImageView的实际id imageView = findViewById(R.id.gallery_image); Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); startActivityForResult(gallery, PICK_IMAGE); } startActivityForResult为已废弃API,若你使用较新的AndroidX版本,建议替换为Activity Result API实现选图逻辑,旧API可临时运行但后续可能出现兼容问题。
内容的提问来源于stack exchange,提问作者user15621727
相关产品推荐
相关产品推荐

