代码之家  ›  专栏  ›  技术社区  ›  Daniel Benedykt

invocationTargetException关于膨胀XML-android

  •  10
  • Daniel Benedykt  · 技术社区  · 14 年前

    我有一个99%的时间都能工作的代码,因为它部署在许多客户机中,但有时我会得到以下信息:

    java.lang.reflect.invocationTargetException(调用目标异常) Android .WIDGET .线性布局.(线性布局. Java:92) Java.Lang.Simult.Curor构造函数(原生方法) Java.Lang.Exrime.构造函数.NeWistSiston(构造函数. Java:446) Android .View .LayOutPosial.CealTeView(LayOutPosial.java:499) COM.Android .No.Primult.IMP.PosielayOutButter .OnCureTeVIEW(PooelayAutoButo.java:56) Android .View .LayOutPosial.CealView WORKTAG(LayOutPosial.java:562) Android .View .LayOutPosial.R充气(LayOutButo.java:617) Gooal.View。LayOutButter。充气(LayOutButo.java:407) Gooal.View。LayOutButter。充气(LayOutButo.java:320) com.mycode.mycode.myclass.draw(XXXXXXX)绘制 …

    在我的代码中,我有:

    布局充气器li=(布局充气器)这个 .getsystemservice(context.layout充气器服务);
    视图=li.充气(屏幕的r.layout.part, 一些容器,错误的);

    所以问题是为什么我会被卷入到大范围的感受中。

    谢谢

    2 回复  |  直到 7 年前
        1
  •  17
  •   CommonsWare    14 年前

    你可以试试 getLayoutInflater() 代替你 getSystemService() 打电话来,尽管我不确定会有什么不同。

    InvocationTargetException 来自反省,意思是 Method 被调用的对象 Exception . 您是否看到可能是底层的另一个堆栈跟踪的任何迹象? 例外 ?如果没有,试着抓住 调用目标异常 看着 getCause() 看看到底发生了什么。

        2
  •  9
  •   Fat Monk    7 年前

    我也有同样的问题。

    我通过以下方式解决了这个问题:

    生成局部变量

    private Context **context**;
    

    然后在类构造函数(具有参数上下文上下文)中执行此操作

    this.context=**context**;
    
    LayoutInflater li = (LayoutInflater) **context** .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
    theview = li.inflate(R.layout.partofthescreen, somecontainer, false);