开发者

InvocationTargetException on inflating an xml - android

开发者 https://www.devze.com 2022-12-22 06:56 出处:网络
I have a code that works 99% of the time since is deploy in lots of clients, but sometimes I get the following:

I have a code that works 99% of the time since is deploy in lots of clients, but sometimes I get the following:

java.lang.reflect.InvocationTargetException android.widget.LinearLayout.(LinearLayout.java:92) java.lang.reflect.Constructor.constructNative(Native Method) java.lang.reflect.Constructor.newInstance(Constructor.java:446) android.开发者_开发技巧view.LayoutInflater.createView(LayoutInflater.java:499) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562) android.view.LayoutInflater.rInflate(LayoutInflater.java:617) android.view.LayoutInflater.inflate(LayoutInflater.java:407) android.view.LayoutInflater.inflate(LayoutInflater.java:320) com.mycode.mycode.MyClass.draw(xxxxxxx) .....

and on my code I have:

LayoutInflater li = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

theview = li.inflate(R.layout.partofthescreen, somecontainer, false);

so the question is why I am getting InvocationTargetException.

Thanks


You can try getLayoutInflater() instead of your getSystemService() call, though I am not sure that will make a difference.

An InvocationTargetException comes from reflection, and means the Method that was invoked threw an Exception. Do you see any sign of another stack trace that might be the underlying Exception? If not, try catching InvocationTargetException and looking at getCause() to see what is really going on.


I also had the same problem.

I solved that problem by:

Make the local variable

private Context **context**;

Then in your class constructor( which has argument Context context) do this

this.context=**context**;

LayoutInflater li = (LayoutInflater) **context** .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

theview = li.inflate(R.layout.partofthescreen, somecontainer, false);
0

精彩评论

暂无评论...
验证码 换一张
取 消