Error:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
此情况出现在android不同版本上。
描述:
项目开始在4.0.1版本上运行没问题,后来在2.3.4版本上测试报出这个异常。异常是由点击spinner弹出框时抛出的。
由于我的spinner是通过
LayoutInflater inflater = (LayoutInflater)getApplication().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_layout, (ViewGroup)findViewById(R.id.custom_layout_root));
spinner = (Spinner)layout.findViewById(R.id.custom_layout_spinner); 获取的。
然后在2.3.4版本上运行时抛出以上异常。
解决方法:
LayoutInflater inflater =
(LayoutInflater) getApplication().getSystemService(LAYOUT_INFLATER_SERVICE);
just replace that with the version below, since you're launching the AlertDialog
from an Activity
LayoutInflater inflater =
(LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);