标签:widget java 错误信息 Studio Android View com android view
今天遇到一个简单的错误信息提示,特记录如下,方便日后查找:
错误信息一:
2020-02-02 13:27:48.472 20534-20534/com.example.helloworld1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.helloworld1, PID: 20534
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.helloworld1/com.example.helloworld1.gridview.GridViewActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1827)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1531)
at android.app.Activity.startActivityForResult(Activity.java:4405)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.app.Activity.startActivityForResult(Activity.java:4363)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
at android.app.Activity.startActivity(Activity.java:4702)
at android.app.Activity.startActivity(Activity.java:4670)
at com.example.helloworld1.MainActivity$Onclick.onClick(MainActivity.java:108)
at android.view.View.performClick(View.java:5642)
at android.view.View$PerformClick.run(View.java:22485)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6211)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:793)
该错误信息中的 ***have you declared this activity in your AndroidManifest.xml?***明确指出“在 AndroidManifest.xml 文件中没有声明相关activity”
修改如下:
在 AndroidManifest.xml 文件中 添加相关activity即可
<activity android:name=".gridview.GridViewActivity"></activity>
错误信息二:
2020-02-02 16:14:15.819 16410-16410/com.example.helloworld1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.helloworld1, PID: 16410
java.lang.NullPointerException: Argument must not be null
at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:31)
at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:25)
at com.bumptech.glide.RequestBuilder.into(RequestBuilder.java:651)
at com.example.helloworld1.gridview.MyGridViewAdapter.getView(MyGridViewAdapter.java:68)
at android.widget.AbsListView.obtainView(AbsListView.java:2486)
at android.widget.GridView.onMeasure(GridView.java:1065)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:401)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19913)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6247)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:759)
at android.view.View.measure(View.java:19913)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2279)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1370)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1623)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1258)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6468)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:908)
at android.view.Choreographer.doCallbacks(Choreographer.java:720)
at android.view.Choreographer.doFrame(Choreographer.java:655)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:894)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6211)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:793)
2020-02-02 16:14:15.849 16410-16410/? I/Process: Sending signal. PID: 16410 SIG: 9
每次都是进入当前页面程序就崩溃,界面闪退,
当注释掉网络图片部分即可运行成功。
各种尝试后,发现其实问题很简单,当前页面 imageView 所对应的关联 id 取错了
//错误id:
holder.imageView = (ImageView) convertView.findViewById(R.id.iv_item);
//正确id:
holder.imageView = (ImageView) convertView.findViewById(R.id.iv_grid);
小结:
Android Studio 中 不同的layout布局文件 id名称可重复使用,但每个layout布局文件中的id不能重复,并且在 Activity.java 文件中一定要取对应的布局文件中的相关控件id,否则可能会导致程序崩溃、闪退等错误。
标签:widget,java,错误信息,Studio,Android,View,com,android,view 来源: https://blog.csdn.net/smart_reed/article/details/104146185
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。