Android java.lang.VerifyError仅在1.5上

时间:2010-06-16 16:18:46

标签: android

我有以下代码在我的主要活动的onCreate方法

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

仅在android 1.5上调用上述方法会导致java.lang.VerifyError。我无法弄清楚为什么会这样。有关如何解决此问题的任何提示

3 个答案:

答案 0 :(得分:1)

只需在1.5上构建,你就会看到罪魁祸首......

答案 1 :(得分:0)

当我尝试为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 _);

但1.5中没有任何可用的东西:= // 奇怪的是......

同样在其他2个类中,这段代码工作得很好......:=)

希望有人知道更多,非常感谢! (所有内容都已初始化,所有内容都已检查... setListAdapter永远不会被调用)


解决方案(对我而言)

它确实是Android 1.5中不支持的方法

mConvertView_.setTag(uniqueIntID,ViewHolder);

ViewHolder是一个静态类,而不是使用普通的View.gettag(), 因为我使用上面的方法布局不同..所以:=)

支持第二个,View.getTag()

答案 2 :(得分:0)

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