SwitchPreference (PreferenceAtivity) - Android NULL

2024-03-18

我有一个屏幕首选项,因此使用了 PreferenceActivity,我已经构建了所有内容并正常运行,但是通过单击文本 SwitchPreference (即行上的任何位置而不位于同一开关中),他可以使用手机(版本 4.1.2)因空指针异常而爆发,但如果您单击同一个开关则工作正常。

这可能是什么?

error:

    E/AndroidRuntime﹕ FATAL EXCEPTION: main
       java.lang.NullPointerException
    at android.widget.Switch.onPopulateAccessibilityEvent(Switch.java:550)
    at   android.view.View.dispatchPopulateAccessibilityEventInternal(View.java:4621)
    at android.view.View.dispatchPopulateAccessibilityEvent(View.java:4611)
    at android.preference.TwoStatePreference.sendAccessibilityEvent(TwoStatePreference.java:197)
    at android.preference.SwitchPreference.onBindView(SwitchPreference.java:114)
    at android.preference.Preference.getView(Preference.java:463)
    at android.preference.PreferenceGroupAdapter.getView(PreferenceGroupAdapter.java:221)
    at android.widget.AbsListView.obtainView(AbsListView.java:2308)
    at android.widget.ListView.makeAndAddView(ListView.java:1769)
    at android.widget.ListView.fillDown(ListView.java:672)
    at android.widget.ListView.fillSpecific(ListView.java:1330)
    at android.widget.ListView.layoutChildren(ListView.java:1600)
    at android.widget.AbsListView.onLayout(AbsListView.java:2143)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1680)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1538)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1451)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1680)
    at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1669)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1453)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1680)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1538)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1451)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1680)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1538)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1451)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
    at android.view.View.layout(View.java:13850)
    at android.view.ViewGroup.layout(ViewGroup.java:4364)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1894)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1710)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1013)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4245)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
    at android.view.Choreographer.doCallbacks(Choreographer.java:555)
    at android.view.Choreographer.doFrame(Choreographer.java:525)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:153)
    at android.app.ActivityThread.main(ActivityThread.java:5071)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
    at dalvik.system.NativeStart.main(Native Method)

将其添加到您的自定义 switchPrefences 组件中

@Override protected void onClick() { // Log.e("CustomSwitchPreferences", "onClick called"); }

将其留空并且不要调用 super.onClick();

这将使您的 onPreferenceChange 除了点击之外(切换操作不会受到影响,只会影响行上的点击)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SwitchPreference (PreferenceAtivity) - Android NULL 的相关文章

  • 不同 Android 设备上 box2D 中出现奇怪的“口吃”

    我正在用 C 同时开发引擎和游戏 并使用 box2D 作为物理后端 我正在不同的 Android 设备上进行测试 在三分之二的设备上 游戏运行良好 物理效果也很好 然而 在我的 Galaxy Tab 10 1 上 我偶尔会遇到某种 口吃 的
  • 如何使用retrofit2进行GET请求?

    我有一个在本地主机上运行的安静的 Web 服务 我想在该剩余 URL 上发出 Retrofit2 GET 请求 MainActivity java private void requestData public static final S
  • Android向后兼容技术

    我现在在开发基于最新 API 15 ICS 的 15 项活动 Android 应用程序方面取得了进展 现在我发现应用程序的主要功能主义者即使支持 android v4 也不向后兼容 例如 1 fragment事务动画 2 将StringSe
  • 编译后从字节代码中删除注释

    我们正在使用一个包含使用 JAXB 注释进行注释的 bean 的库 我们使用这些类的方式完全不依赖于 JAXB 换句话说 我们不需要 JAXB 也不依赖注释 但是 由于注释存在 它们最终会被处理注释的其他类引用 这要求我将 JAXB 捆绑到
  • 如何将 Android Instrumentation 测试推送到模拟器/设备?

    我正在尝试使用 Ubuntu 9 04 中的命令行 shell 在 Android 模拟器上运行 Webkit 布局测试 adb s emulator 5554 shell am instrument w com android dumpr
  • Android ListView 自定义适配器 ImageButton

    这可能不是正确的方法 如果有更好的方法请告诉我 我创建了一个自定义适配器类 在我的 getView 方法中我膨胀了我想要使用的视图 public View getView int position View convertView View
  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • 如何在 Android 应用程序中单击按钮时打开 Gmail Compose?

    当我的 Android 应用程序中单击按钮时 我尝试打开 Gmail 撰写屏幕 我需要 Google 提供的 API 密钥吗 或者我需要在按钮 onClickListener 中做什么 任何形式的见解都非常值得赞赏 正如 JeffC 指出的
  • FLAG_ACTIVITY_REORDER_TO_FRONT 被忽略

    我有一个包含项目列表的 FragmentActivity 当应用程序处于后台时 可以推送该项目列表 发生这种情况时 我想创建一个状态栏通知并提醒用户更新 当用户单击通知时 活动应重新排序到前面并显示在屏幕上 同时在列表底部显示新项目 所以我
  • 多语言 Android 应用程序:在电子邮件和密码字段中显示英文键盘

    我们正在开发一款多语言 Android 应用程序 针对英语和阿拉伯语 面临的问题是在登录和注册屏幕中 我们希望仅以英文文本输入用户名和密码字段 从而显示英文键盘 无论设备区域设置语言如何 已尝试在 edittext 中设置 inputtyp
  • 将图像保存到内部存储器并将出现在图库中

    我搜索了很多与我的问题相关的问题 是否有办法将图像存储在内存中并且它也应该出现在图库中 这是完全有可能的 我以前也这么做过 在将图像保存到内存 或称为应用程序文件夹等 之前 您最好设置Context MODE WORLDREADABLE 虽
  • Android 消费品:“已经拥有该商品”,但 inventory.hasPurchase() 为 false

    我被 Google In App v3 困住了 我测试了一次没有消费的购买 例如 当应用程序在购买和消费之间崩溃时 现在我找不到出路 如果我尝试再次购买 它会显示 您已经拥有该商品 但是当我测试所有权时 它说我不拥有它 Inventory
  • Android - 多次实例化一个片段?

    我正在创建一个在 ListView 中显示数据的应用程序 数据分为两种类型 热门 收藏夹 我有一个活动和两个片段 片段根据类别显示项目列表 我为此使用了 ListView 然后我有两个fragment layouts 它们在设计上完全相同
  • 在 android 版本 7.0 上膨胀类 android.widget.DatePicker 时出错

    我想显示弹出日期选择器并且我使用此代码 Calendar mcurrentDate Calendar getInstance int mYear mcurrentDate get Calendar YEAR int mMonth mcurr
  • 无法登录 Google Play 游戏服务

    我在开发者控制台上使用包名称和正确的签名证书设置了我的游戏 并为其创建了排行榜 但没有创建任何成就 然后 我从以下位置下载了示例 Type A Number Challenge 和 BaseGameUtils https developer
  • 从Android客户端登录appengine

    我正在尝试登录应用程序引擎并访问应用程序引擎中的用户服务API 基本上我希望能够看到谁登录了我的 servlet 我正在使用从 android 获取 authtoken 然后从应用程序引擎获取 ASID 或 SACID cookie 的身份
  • Android 4.2 - Environment.getExternalStorageDirectory().getPath() 行为

    我一直在开发一个android应用程序 在上次更新到4 2之前 我使用 Environment getExternalStorageDirectory getPath 它返回了我 storage sdcard0 但自从更新后我现在得到了 s
  • 如何通过 AppCompatActivity 使用 YouTube Android 播放器 API

    为了在我的应用程序中播放视频 我决定扩展 YouTube Android Player API 但问题是我的菜单消失了 因为我没有从 AppCompatActivity 扩展 问题是 如何使用 YouTube Android Player
  • 制作弹跳动画

    我想做图层的弹跳动画 我已经完成了该图层从右到中心的操作 现在我想将其向后移动一点 然后回到中心 这会产生反弹效果 我想我可以用这样的翻译来做到这一点
  • Android Espresso - 如果未选中,请单击复选框

    I have onView withId R id check box perform click 但我只想在尚未选中该复选框时执行此操作 我怎样才能在浓缩咖啡中做到这一点 我还想根据其之前的状态来切换复选框 开关 起初 我尝试用此方法打开

随机推荐

  • 如何使 .svc 文件写入 asp.net Trace.axd

    我想弄清楚如何使 IIS 下托管的 3 5 WCF 服务写入 asp net 跟踪 我的猜测是您会将其添加到 web config 文件中
  • 如何更改 Xamarin.Forms 上的后退按钮文本

    我一直在尝试更改 Xamarin Forms 中后退按钮的文本 但没有成功 我已经尝试过这段代码但没有运气 NavigationPage SetBackButtonTitle this 我正在使用一个MasterDetailPage 我尝试
  • 如何消除 XCode 5 / iOS 7 中的图标眩光?

    我正在使用 XCode 5 开发者预览版来创建 iOS 7 应用程序 在iOS 7中 图标的眩光效果不再存在 没关系 但现在 当我在 iOS 6 设备 或模拟器 上运行由 XCode 5 编译的应用程序时 我看到图标上有眩光效果 禁用眩光的
  • 尝试为 linq 中的日期创建大于、等于或大于动态过滤器

    我一直在尝试为 Linq 创建一个表达式树过滤器 它接受 2 个日期和一串可能的值 小于 等于 大于 我希望将调用格式设置为 Query Where CompareDates x gt x left right less than 我有代码
  • 从标准输入读取密码[重复]

    这个问题在这里已经有答案了 场景 一个交互式 CLI Python 程序 需要密码 这也意味着 没有可能的 GUI 解决方案 在 bash 中 我可以读取密码 而无需在屏幕上重新提示 read s Python 有类似的东西吗 IE pas
  • 如何上传到 Dropbox Public 文件夹并获取公共 URL?

    我遇到一种情况 我需要将文件上传到我的 Dropbox 公共文件夹 并且上传后我需要存储上传文件的公共 url 我正在使用 python 对此的任何帮助都会很棒 Thanks 使用它在您的程序中设置 Python SDK https www
  • iOS 推送通知问题

    我正在做一个项目 其中推送通知功能是关键特征之一 当我在应用程序中时它工作正常 我收到通知并处理该通知 但问题是当我在后台并收到通知时 我在应用程序图标上看到徽章 当我单击该图标时 我的应用程序正在启动 但是didReceiveRemote
  • 在 ASP.Net Core 中创建自定义 HTML 帮助器

    我想创建自己的自定义 HTML Helper 就像 ASP NET MVC 中使用的那样 但我一直无法找到如何以正确的方式实现它们 我已经找到了如何创建自定义标记帮助程序 但没有找到 HTML 帮助程序 如何创建我自己的自定义 HTML 帮
  • 从 onLoadFinished() 中的光标填充小部件

    我想知道如何使用CursorLoader填充屏幕上的小部件 网上的所有示例仅适用于使用适配器 而且效果很好 我需要的是一种可靠的方法来从光标和 UI 线程上更新屏幕中的视图 并且有时不会因为以下原因而崩溃StaleDataException
  • 它有一些专门针对 tibble 和管道内衬副作用的函数吗?

    我想知道是否可以使用 dplyr select dplyr mutate 或 dplyr transmute 等函数来调用副作用函数 我有步行 但不是来自同一家庭 tibble as tibble mtcars gt dplyr trans
  • Chrome for IOS 无法在 iframe 中正确打开新窗口

    我正在尝试在 iframe 内的 Chrome for iOS 中的新窗口中打开链接 但 Chrome for iOS 不会在新窗口中打开链接 而是浏览器在同一窗口中而不是在新窗口中打开链接 对于弹出窗口也是如此 很奇怪 Example 测
  • 带有不可见项目的微格式 hreview

    我正在一个网站上实现微格式的 hreview 部分 以供 Google 索引 http www google com support webmasters bin answer py answer 146645 http www googl
  • 确保文件在 JVM 退出时被删除

    即使 JVM 提前终止 File deleteOnExit 是否也能保证文件被删除 正如蒂姆 本德所说 File deleteOnExit 不保证文件确实被删除 但是 在 Unixish 系统 例如 Linux 或 OSX 上 可以删除临时
  • 如何在同一个存储库中保留/维护公共和私有代码? (在存储库托管处)

    我正在开发自己的项目 该项目分为两部分 A 内核 通用代码 公共部分 B 适用于专有协议等的代码 私有部分 可供我和一些授权人员使用 我想要存储库托管 可能是 github assembla 它允许在同一存储库中的公共和私有分支中工作 我不
  • 向 sqlite 数据库添加列

    我正在尝试将在 R 中生成的向量作为新列添加到 sqlite 表中 为此我想使用dplyr 我安装了最新的开发版本以及dbplyr根据这篇文章打包here https www r bloggers com dplyr 0 6 0 comin
  • 标签中可以包含任何类型的标签吗?

    是否有诸如 div div
  • Cakephp 2.0 和基本身份验证

    我已将我的应用程序从 CakePHP 1 3 升级到 2 0 4 以前 我只能在一个控制器中使用安全组件来模拟基本 HTTP 身份验证 我曾经做过这样的事情 this gt Auth gt allow array this gt Secur
  • 使用 sqlparse 解析 CASE WHEN 语句

    我有以下 SQL 查询并想使用它来解析它sqlparse https github com andialbrecht sqlparse import sqlparse query select SUM case when A dt unix
  • postgres docker 容器中的 pg_restore

    我正在尝试使用 pg restore 从将从 docker 文件调用的 shell 脚本中恢复 PostgreSQL docker 容器中的数据库 我收到以下错误 错误 取消自动清理任务 CONTEXT 自动分析表 tablename Do
  • SwitchPreference (PreferenceAtivity) - Android NULL

    我有一个屏幕首选项 因此使用了 PreferenceActivity 我已经构建了所有内容并正常运行 但是通过单击文本 SwitchPreference 即行上的任何位置而不位于同一开关中 他可以使用手机 版本 4 1 2 因空指针异常而爆