
当我在某些设备上运行我的代码时(如MI note 4),它给了我一个例外:
android.vIEw.WindowManager$BadTokenException: Unable to add window — token androID.vIEw.VIEwRootImpl$W@7989790 is not valID; is your activity running?
但是当我在高速和最新的移动设备上运行时(MI note 5 pro),它运行正常.我无法理解这里的错误,请指导我谢谢.
这是微调器的XML: –
<Spinner androID:ID="@+ID/type_spinner" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_margin="@dimen/dp_10" androID:entrIEs="@array/type" />和我的字符串数组:
<string-array name="type"> <item>Every Month</item> <item>Every Year</item> <item>Once</item></string-array>add_reminder.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw vIEw) { VIEw vIEw1 = LayoutInflater.from(getActivity()).inflate(R.layout.add_reminder, null); final PopupWindow pw = new PopupWindow(vIEw1, VIEwGroup.LayoutParams.MATCH_PARENT, VIEwGroup.LayoutParams.MATCH_PARENT); pw.setFocusable(true); pw.settouchable(true); pw.showAtLocation(vIEw, Gravity.CENTER, 0, 0); final Spinner type = vIEw1.findVIEwByID(R.ID.type_spinner);});我的片段仍然在d出窗口后面运行,因此该错误一定不会出现,因为它表明活动没有运行.
并记住它在最新设备上正常运行.
解决方法:
尝试如下
VIEw vIEw1 = LayoutInflater.from(getActivity()).inflate(R.layout.add_reminder, null);至
VIEw vIEw1 = LayoutInflater.from(vIEw.getContext()).inflate(R.layout.add_reminder, null); 总结 以上是内存溢出为你收集整理的spinner上的错误令牌异常在片段中使用(android:entries =“@ array / type”)全部内容,希望文章能够帮你解决spinner上的错误令牌异常在片段中使用(android:entries =“@ array / type”)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)