异常产生环境

在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相关推荐

  1. 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 ...

  2. java.lang.Object android.content.Context.getSystemService(java.lang.String)‘ on a null object

    出现原因:在fragment中动态添加一个layout 例如: View notDataView = getLayoutInflater().inflate(R.layout.empty_view, ...

  3. 对象空指针原因之一---java.lang.NullPointerException: Attempt to invoke virtual method ‘void com.example.my

    代码复制下来格式不能自动调整,大家有什么好的办法可以call我,有点难受一行一行调. //开启一个线程来发送消息 new Thread(new Runnable() {@Overridepublic ...

  4. 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 ...

  5. Android 桌面组件【app widget】 进阶项目--心情记录器

    之前有一篇是初探 Android App Widget 的文章,今天继续对上一例子进行扩展,并完成了一个小项目,直接可以拿来使用.上篇文章地址:Android 桌面组件[widget]初探 ,未接触过 ...

  6. 【Android】 Android中spinner下拉列表的使用

    今天学习了Spinner组件,使用Spinner相当于从下拉列表中选择项目,下面演示一下Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现) (一):使用ArrayAda ...

  7. android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  8. android自定义下拉筛选,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  9. Android 之 Spinner

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考. 1:新建一个Sp ...

最新文章

  1. KinectFusion——微软基于KINECT的实时三维重建项目(KINECT)
  2. Sun x4500作为文件服务器的调优
  3. 5分钟用Spring4 搭建一个REST WebService(转)
  4. C++字符串之一(字符表示)
  5. ubuntu的网络配置
  6. 前端程序员总结的工作中常用的十大浏览器兼容性问题,初学者瑰宝!
  7. 智能信贷产业进入爆发期,银行如何破解微贷难题?
  8. HTML5 音频 / 视频 DOM 操作
  9. 田径运动会管理系统之Java
  10. RecyclerView实现横向滚动
  11. 谷歌人机图像识别接口
  12. 使用 Sun Jimi 进行图像格式转换
  13. nova7s鸿蒙系统,曝华为nova7 SE新版本要来了!处理器换成天玑800U
  14. 省对应的市区经纬度信息
  15. 腾讯云HiFlow场景连接器
  16. springboot基础(72):Redisson分布式锁
  17. YOLO 超详细入门02 v2 (含代码及原文)
  18. [附源码]Python计算机毕业设计大学生健康管理系统的设计与实现Django(程序+LW)
  19. 《从零开始的记账本开发》第2篇 概要设计
  20. 挖掘长庄股及案例分析

热门文章

  1. 三层交换配置及RIP动态路由
  2. form表单登陆人人网
  3. leetcode 124 二叉树中的最大路径和 C语言
  4. 实现一个压缩图片功能
  5. 程序拍了拍你:来看看如何避开路由雷区
  6. 精彩的问题回答于解答6
  7. win10家庭版---卸载msmpeng.exe
  8. python-爬虫爬取豆瓣Top250电影数据
  9. 做社群运营,你复盘了吗?
  10. Collider和Rigidbody的区别和联系