代码之家  ›  专栏  ›  技术社区  ›  Josnidhin

Android java.lang.verifyError仅在1.5上

  •  0
  • Josnidhin  · 技术社区  · 16 年前

    我有以下代码,在我的主活动的onCreate方法中获取调用

     public static ErrorReporter getInstance(){
      if (instance == null){
       instance = new ErrorReporter();
      }
      return instance;
     }
    

    只有在Android 1.5上调用上述方法才会导致java.lang.verifyError。我不明白为什么会这样。关于如何解决这个问题的任何提示

    3 回复  |  直到 14 年前
        1
  •  1
  •   user1064910    14 年前

    只要在1.5的基础上做一个构建,你就会发现罪魁祸首在哪里……

        2
  •  0
  •   Brock Adams    14 年前

    当我尝试为ListView设置Listadatper时,遇到了完全相同的问题:)

    检查这个

    private void setResultListListAdapter() {
        mListAdapter_ = new ListAdapter(mContext_,
                R.layout.dsg_detailed_list_row, mLstStops_);
        setListAdapter(mListAdapter_);
    }
    

    在初始化mlistadapter之前获取verifyError。所以这件事…

    新的ListAdapter(mcontext, r.layout.dsg_detailed_list_row,mlststops_u);

    但1.5版中没有:=// 奇怪的事…

    另外,在另外两个类中,这个代码工作得很好…=)

    希望有人知道更多,谢谢! (所有内容都已初始化,所有内容都已检查…从未调用SetListAdapter)


    解决方案(对我)

    这确实是一种在Android 1.5中不受支持的方法。

    mconvertview_u.settag(uniqueintid,取景器);

    viewholder是一个静态类,而不是使用normal view.gettag(), 由于不同的布局,我使用了上述方法。所以:=)

    第二个支持,view.gettag()。

        3
  •  0
  •   Josnidhin    14 年前

    我在ErrorReporter类中使用了1.5中没有的函数。使用反射来处理不可用的函数,错误就消失了。