问题1:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
修改一个需求的时候出现这个问题:需求需要在PreferenceScreen 里面弹出一个窗口,我写的时候发现一个问题
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext()); builder.setTitle("data romaing"); //builder.setView(new ListView(getActivity())); builder.setMessage("choose"); builder.setPositiveButton("yes", new OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); builder.setNegativeButton("no", new OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); AlertDialog dialog = builder.create(); dialog.show();
错误的原因:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext());
应该改成:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
this.getApplicationContext()); 和 this的区别:
这里的this指的当然就是Acitivity.this , 指的是这个Acitivity的上下文,而this.getApplicationContext()指的则是整个应用的上下文。
对于AlertDialog来说,是需要依赖一个View,而View是对应于Activity的。
那么为什么会报错呢,这里涉及到一个生命周期的问题了。
对于一个应用Context来说,它的生命周期是整个应用程序的生命周期,而对于Activity来说,当它销毁之后它的生命周期就结束了。
AlertDialog是属于Acitivity的,当Activity销毁的时候它也必须销毁,所以这里我们指定是Activity的Context。
相关推荐
本文将根据"android常见错误集"这个主题,结合压缩包中的"android常见问题集",详细讨论一些常见的Android开发错误以及解决策略。 1. **Null Pointer Exception**:这是Java编程中最常见的错误,表示尝试访问一个空...
Android常见错误及解决方法 Android 开发中经常会遇到一些无法运行的错误,本文将总结常见的 Android 错误和解决方法。 错误一:Application does not specify an API level requirement 在 AndroidManifest.xml...
### Android常见错误解析 在开发Android应用的过程中,开发者经常会遇到各种各样的问题。这些问题有的源自于编译环境的配置不当,有的则是代码逻辑错误导致。本文将针对一份文档中总结的一些常见错误进行详细分析,...
在Android开发过程中,错误收集工具是非常重要的一环,它能够帮助开发者及时发现并解决应用程序运行时出现的问题。本文将详细探讨“android 错误收集工具”,特别是名为"CrashHelper"的工具,以及如何利用此类工具...
本文将详细解析"Android开发环境设置配置的常见错误",并提供解决方案,帮助开发者顺利搭建Android开发环境。 首先,我们遇到的一个常见问题就是下载Android SDK时出现错误。下载SDK的过程中,可能会遇到网络不稳定...
Android应用开发常见错误与对策 Android应用开发常见错误与对策 提纲 一、Android 总体框架介绍 1. Android历史 2. Android框架图 二、Android 开发工具和环境 1. Eclipse开发工具 2. Adb 调试工具 三、Android ...
### MTK Android 编译常见错误及解决方案 在编译 MTK Android 源码时,开发者经常会遇到一些常见的编译错误。这些错误通常与环境配置、依赖库安装不完整等因素有关。以下是一些常见的编译错误及其解决方法: #### ...
### Android编译常见错误解析 #### 一、概述 在进行Android系统开发的过程中,经常会遇到各种编译错误,这些问题往往会让开发者花费大量的时间去解决。本文档基于在Ubuntu 11上的编译经验,总结了一些常见的编译...
本文档是针对Android常见错误及其解决方案的汇总笔记,为开发者提供了实际操作中可能遇到的错误情况和解决步骤,包含了ADB(Android Debug Bridge)的使用技巧以及一些常见问题的处理方法。下面详细展开这些知识点:...
Android 错误解决方法大集合文章总结了 Android 开发中常见的四个错误解决方法,涵盖了网络连接、安装 APK、SDK 版本和内容描述等多个方面。 一、 android java.net.UnknownHostException: Unable to resolve host...
以下是一些常见的Android初级错误及其解决方法: 1. **Connection with adb was interrupted** 这个错误通常意味着Android Debug Bridge (adb)与设备或模拟器的连接中断了。你可以尝试以下步骤解决: - 在命令行...
在Android开发过程中,经常会遇到一种常见的异常——OutOfMemoryError(简称OOM),这主要是因为Android为了确保设备性能与响应速度,在内存管理方面设定了严格的限制。对于每个应用程序进程,默认情况下只能使用...
Java和Android面试题涵盖了许多核心概念,以下是这些知识点的详细说明: 1. **面向对象** (Object-Oriented Analysis ...以上是Java和Android面试中常见的知识点,理解和掌握这些内容对于面试和实际开发都至关重要。
在Android开发过程中,开发者经常会遇到各种错误信息,这些错误信息是解决问题的关键,下面将对一些常见的Android开发错误信息及其解决方案进行详细的解释。 1. **错误信息:Application does not specify an API ...
在Android开发中,用户体验是至关重要的,而动态错误提示效果是提升用户体验的一种有效方式。本文将深入探讨如何在Android应用中实现这样的功能,为用户提供友好的错误反馈。 首先,我们来理解“动态错误提示效果”...
在Android开发环境中,Android Developer Tools (ADT) 是一个至关重要的工具,它作为一个...通过遵循上述指南和处理可能出现的错误,初学者可以顺利地在自己的Eclipse环境中配置并使用ADT,从而开启Android开发之旅。
这个问题的描述涉及到了Android Studio 3.0之后的一个常见错误,即`apt`报错,这通常与Gradle配置有关。让我们深入了解一下这个错误的背景、原因以及如何解决。 在Android Studio 3.0之前,`apt`(Annotation ...
种常见的 Android 开发错误及解决方案 标题:种常见的 Android 开发错误及解决方案 描述:本文档总结了 9 种常见的 Android 开发错误及解决方案,涵盖了 Android 项目开发中常见的问题和解决方法。 标签:资料 ...