好久没写博客了 今天突然遇到了一个bug 还挺有意思的 找了好一会才找到原因
private void initPop() { if (null != popupWindow) return; View view = LayoutInflater.from(activity).inflate(R.layout.pickerview_custom_options, null); popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setBackgroundDrawable(new BitmapDrawable()); popupWindow.setFocusable(true); if (0 != style) { popupWindow.setAnimationStyle(style); } TextView tvCancel = view.findViewById(R.id.tv_cancel); TextView tvSubmit = view.findViewById(R.id.tv_finish); final WheelView options1 = view.findViewById(R.id.options1); final WheelView options2 = view.findViewById(R.id.options2); TextView tvTitle = view.findViewById(R.id.pop_title); tvTitle.setText(title); options1.setAdapter(new ArrayWheelAdapter(cardItem)); options2.setAdapter(new ArrayWheelAdapter(cardItem2.get(0))); options1.setCurrentItem(8); options2.setCurrentItem(0); options1.setCyclic(false); options2.setCyclic(false);
我临时要在popupwindow的布局里面的textview添加一个id=pop_title 然后find它 但是正常开始之后一直报空指针 debug显示
TextView tvTitle = view.findViewById(R.id.pop_title);
里面的tvTitle=null 我反复进布局里面确认 id添加上了 然后我给他改了一个特殊的名字 整个项目里面不会有重复的那种 然后就报了标题的错误
java.lang.NoSuchFieldError: No static field pop_title of type I in class Lcn/easefin/commonservice/c
后来实在没办法了 怀疑是不是这个布局在别的地方有重复的 我迁移过来之后 以前的没删除 然后全局搜了一下 果然是 然后把那个删除了 就没问题了
好久好久没碰到这个空指针了。。。。。