android studio:找不到显式活动类,但活动已在androidmanifest.xml中声明

k7fdbhmy  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(461)

这里是android studio的新手。
我试着这样做,当我在一个循环视图中点击一个viewholder中的图像时,它会打开另一个活动,从而打开另一个布局。
然而,我得到这个错误,即使我已经在我的清单中声明了活动。
试图创建启动新活动的意图的代码称为类 StaggeredView 内部 app/core/StaggeredView . 调用活动处理程序时 ImageView 内部 app/ImageView .
错误

  1. android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.image_chan/android.widget.ImageView}; have you declared this activity in your AndroidManifest.xml?
  2. at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2065)
  3. at android.app.Instrumentation.execStartActivity(Instrumentation.java:1727)
  4. at android.app.Activity.startActivityForResult(Activity.java:5320)
  5. at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675)
  6. at android.app.Activity.startActivityForResult(Activity.java:5278)
  7. at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:662)
  8. at android.app.Activity.startActivity(Activity.java:5664)
  9. at android.app.Activity.startActivity(Activity.java:5617)
  10. at com.example.image_chan.core.StaggeredAdapter$1.onClick(StaggeredAdapter.java:63)
  11. at android.view.View.performClick(View.java:7448)
  12. at android.view.View.performClickInternal(View.java:7425)
  13. at android.view.View.access$3600(View.java:810)
  14. at android.view.View$PerformClick.run(View.java:28305)
  15. at android.os.Handler.handleCallback(Handler.java:938)
  16. at android.os.Handler.dispatchMessage(Handler.java:99)
  17. at android.os.Looper.loop(Looper.java:223)
  18. at android.app.ActivityThread.main(ActivityThread.java:7656)
  19. at java.lang.reflect.Method.invoke(Native Method)
  20. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
  21. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

代码
onbindviewholder(它重写 class StaggeredAdapter which extends RecyclerView.Adapter<StaggeredAdapter.ViewHolder> )

  1. public class StaggeredAdapter extends RecyclerView.Adapter<StaggeredAdapter.ViewHolder> {
  2. /*...*/
  3. @Override
  4. public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  5. RequestOptions requestOptions = new RequestOptions()
  6. .error(R.drawable.error)
  7. .placeholder(R.drawable.loader);
  8. Glide.with(Context)
  9. .load(urls.get(position))
  10. .apply(requestOptions)
  11. .into(holder.image);
  12. holder.name.setText("SCORE: " + imgNames.get(position));
  13. holder.image.setOnClickListener(new View.OnClickListener() {
  14. @Override
  15. public void onClick(View view) {
  16. Context viewContext = (Context) view.getContext();
  17. Intent toView = new Intent(viewContext, ImageView.class);
  18. viewContext.startActivity(toView);
  19. }
  20. });
  21. }
  22. /*...*/
  23. }

androidmanifest.xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.image_chan">
  4. <uses-permission android:name="android.permission.INTERNET"/>
  5. <application
  6. android:networkSecurityConfig="@xml/netconfig"
  7. android:allowBackup="true"
  8. android:icon="@mipmap/ic_launcher"
  9. android:label="@string/app_name"
  10. android:roundIcon="@mipmap/ic_launcher_round"
  11. android:supportsRtl="true"
  12. android:theme="@style/Theme.Image_chan">
  13. <provider android:name=".core.Suggestions"
  14. android:authorities="com.example.image_chan.core.Suggestions"/>
  15. <activity
  16. android:name=".MainActivity"
  17. android:label="@string/app_name"
  18. android:theme="@style/Theme.Image_chan.NoActionBar">
  19. <intent-filter>
  20. <action android:name="android.intent.action.MAIN" />
  21. <category android:name="android.intent.category.LAUNCHER" />
  22. </intent-filter>
  23. </activity>
  24. <activity
  25. android:name=".ImageView"
  26. android:label="image_chan"
  27. android:theme="@style/Theme.Image_chan.NoActionBar">
  28. </activity>
  29. <activity
  30. android:name=".Main"
  31. android:label="image_chan"
  32. android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
  33. <intent-filter>
  34. <action android:name="android.intent.action.SEARCH"/>
  35. </intent-filter>
  36. <meta-data android:name="android.app.searchable"
  37. android:resource="@xml/searchable" />
  38. </activity>
  39. </application>
  40. </manifest>
vs3odd8k

vs3odd8k1#

请遵循以下步骤。
1.应该将imageview类重命名为imageviewactivity或其他任何东西。
2.确保此活动扩展activity或appcompatactivity。
3.确保此活动位于app\src\main目录下。
这应该能解决你的问题。

相关问题