method ‘void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)‘ on a null object refe
异常产生环境
在android 使用dialog 引入Spinner 控件时产生异常
异常描述
Caused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Method.invoke(Native Method)at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)at android.view.View.performClick(View.java:5637) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:967) at android.view.View$PerformClick.run(View.java:22429) 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:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object referenceat cn.bloghut.StudentList.add(StudentList.java:122)at java.lang.reflect.Method.invoke(Native Method) at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397) at android.view.View.performClick(View.java:5637) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:967) at android.view.View$PerformClick.run(View.java:22429) 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:6119) at java.lang.reflect.Method.invoke(Native Method)
异常原因
- 因为我把Spinner 嵌在dialog 里面了,获取Spinner 的使用使用findViewById(R.id.spinner); 肯定是获取不到的。
- 正确的获取代码
view.findViewById(R.id.spinner);
- 代码调式如下:
- 奇怪的是sprinner 为空,用一个null 调用setAdapter 方法,却不报空指针异常而是 onClick(AppCompatViewInflater 异常
解决办法
- 修改获取控件的代码即可
spinner = (Spinner) view.findViewById(R.id.spinner);
method ‘void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)‘ on a null object refe相关推荐
- Attempt to invoke virtual method ‘java.lang.Class java.lang.Object.getClass()‘ on a null object refe
原因:fragment多次添加 解决方法: 在对应的xmlt中添加tool:context,必须对应fragment名 <androidx.constraintlayout.widget.Con ...
- java.lang.Object android.content.Context.getSystemService(java.lang.String)‘ on a null object
出现原因:在fragment中动态添加一个layout 例如: View notDataView = getLayoutInflater().inflate(R.layout.empty_view, ...
- 对象空指针原因之一---java.lang.NullPointerException: Attempt to invoke virtual method ‘void com.example.my
代码复制下来格式不能自动调整,大家有什么好的办法可以call我,有点难受一行一行调. //开启一个线程来发送消息 new Thread(new Runnable() {@Overridepublic ...
- Error:Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSeq
在进行Android开发学习是遇到一个error:Attempt to invoke virtual method 'void android.widget.TextView.setText(java ...
- Android 桌面组件【app widget】 进阶项目--心情记录器
之前有一篇是初探 Android App Widget 的文章,今天继续对上一例子进行扩展,并完成了一个小项目,直接可以拿来使用.上篇文章地址:Android 桌面组件[widget]初探 ,未接触过 ...
- 【Android】 Android中spinner下拉列表的使用
今天学习了Spinner组件,使用Spinner相当于从下拉列表中选择项目,下面演示一下Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现) (一):使用ArrayAda ...
- android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式
在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...
- android自定义下拉筛选,android自定义Spinner下拉菜单(下拉列表框)样式
在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...
- Android 之 Spinner
下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考. 1:新建一个Sp ...
最新文章
- KinectFusion——微软基于KINECT的实时三维重建项目(KINECT)
- Sun x4500作为文件服务器的调优
- 5分钟用Spring4 搭建一个REST WebService(转)
- C++字符串之一(字符表示)
- ubuntu的网络配置
- 前端程序员总结的工作中常用的十大浏览器兼容性问题,初学者瑰宝!
- 智能信贷产业进入爆发期,银行如何破解微贷难题?
- HTML5 音频 / 视频 DOM 操作
- 田径运动会管理系统之Java
- RecyclerView实现横向滚动
- 谷歌人机图像识别接口
- 使用 Sun Jimi 进行图像格式转换
- nova7s鸿蒙系统,曝华为nova7 SE新版本要来了!处理器换成天玑800U
- 省对应的市区经纬度信息
- 腾讯云HiFlow场景连接器
- springboot基础(72):Redisson分布式锁
- YOLO 超详细入门02 v2 (含代码及原文)
- [附源码]Python计算机毕业设计大学生健康管理系统的设计与实现Django(程序+LW)
- 《从零开始的记账本开发》第2篇 概要设计
- 挖掘长庄股及案例分析