android.view.WindowManager$BadTokenException: Unable to for an application

在弹出窗口的时候,报错,代码如下

AlertDialog.Builder builder = new Builder(getApplicationContext());

解决方法:将getApplicationContext()改为this

getApplicationContext() 和 this 都可以获得上下文,区别如下

getApplicationContext()获得整个应用程序的上下文,主要线程不死,都存在上下文,重要用于数据库操作等等,不需和某个activity挂在一起

this 获得该activity的上下文,只有在改activity有效,对于AlertDialog必须挂载在activity里面,所以一定要用this

你可能感兴趣的:(android)