Nullpointerexception:attempt to invoke virtual method ' Android.view.viewgroup$layoutparam

Source: Internet
Author: User

Recently in doing and picture related display appeared a problem, tidy up ideas, share out for everyone to reference:

The following is an exception for a null pointer, which appears in Galleryadapter.

Short Msg:java.lang.NullPointerException

Long Msg:java.lang.NullPointerException:Attempt to invoke virtual method ' Android.view.viewgroup$layoutparams Android.view.View.getLayoutParams () ' On a null object reference
Build Label:lenovo/passion/passion:5.1.1/lmy47v/vibeui_v2.8_1532_5.268.1_st_p1c72:user/release-keys
Build changelist:vibeui_v2.8_1532_5.268.1_st_p1c72
Build time:1438611592000
Java.lang.NullPointerException:Attempt to invoke virtual method ' Android.view.viewgroup$layoutparams Android.view.View.getLayoutParams () ' On a null object reference
//At Android.widget.Gallery.setUpChild (gallery.java:893)
//At Android.widget.Gallery.makeAndAddView (gallery.java:872)
//At Android.widget.Gallery.layout (gallery.java:669)
//At Android.widget.Gallery.onLayout (gallery.java:361)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.FrameLayout.layoutChildren (framelayout.java:579)
//At Android.widget.FrameLayout.onLayout (framelayout.java:514)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.FrameLayout.layoutChildren (framelayout.java:579)
//At Android.widget.FrameLayout.onLayout (framelayout.java:514)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.FrameLayout.layoutChildren (framelayout.java:579)
//At Android.widget.FrameLayout.onLayout (framelayout.java:514)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.LinearLayout.setChildFrame (linearlayout.java:1703)
//At Android.widget.LinearLayout.layoutHorizontal (linearlayout.java:1692)
//At Android.widget.LinearLayout.onLayout (linearlayout.java:1468)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.FrameLayout.layoutChildren (framelayout.java:579)
//At Android.widget.FrameLayout.onLayout (framelayout.java:514)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.LinearLayout.setChildFrame (linearlayout.java:1703)
//At Android.widget.LinearLayout.layoutVertical (linearlayout.java:1557)
//At Android.widget.LinearLayout.onLayout (linearlayout.java:1466)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.widget.FrameLayout.layoutChildren (framelayout.java:579)
//At Android.widget.FrameLayout.onLayout (framelayout.java:514)
//At Android.view.View.layout (view.java:15725)
//At Android.view.ViewGroup.layout (viewgroup.java:5041)
//At Android.view.ViewRootImpl.performLayout (viewrootimpl.java:2105)
//At Android.view.ViewRootImpl.performTraversals (viewrootimpl.java:1862)
//At Android.view.ViewRootImpl.doTraversal (viewrootimpl.java:1080)
//At Android.view.viewrootimpl$traversalrunnable.run (viewrootimpl.java:5933)
//At Android.view.choreographer$callbackrecord.run (choreographer.java:791)
//At Android.view.Choreographer.doCallbacks (choreographer.java:604)
//At Android.view.Choreographer.doFrame (choreographer.java:574)
//At Android.view.choreographer$framedisplayeventreceiver.run (choreographer.java:777)
//At Android.os.Handler.handleCallback (handler.java:739)
//At Android.os.Handler.dispatchMessage (handler.java:95)
//At Android.os.Looper.loop (looper.java:135)
//At Android.app.ActivityThread.main (activitythread.java:5380)
//At Java.lang.reflect.Method.invoke (Native Method)
//At Java.lang.reflect.Method.invoke (method.java:372)
//At Com.android.internal.os.zygoteinit$methodandargscaller.run (zygoteinit.java:939)

The main tracking directions are:

// At Android.widget.Gallery.setUpChild (gallery.java:893)
// At Android.widget.Gallery.makeAndAddView (gallery.java:872)

at Android.widget.Gallery.layout (gallery.java:669)

An exception occurred in this galley class:

Mainly in the Setupchild method, the Child view variable child is void caused by:


Note that the Makeandaddview view is empty when it is worn, not on the map, and the final conclusion is:

A null pointer exception was caused by the return of the Galleryadapter GetView method to null

In fact, I wrote when the array out of bounds, so, before GetView to make a judgment

Public View GetView (int position, View Convertview, ViewGroup parent) {if (Position < 0 | | mitems = NULL | | Position & gt;= mitems.size ()) {return <span style= "font-family:arial;" >convertview;</span>}
Because the Android bottom is written in C + +, many default is null, resulting in the above exception.

Solution:

1. You can set a default view to pass to Convertview:

2, prevent the array out of bounds, will not enter this judgment, according to the normal flow, do not appear this exception (individual is because the set directly assigned value,

Set direct assignment will report the physical address of the original collection to the new collection, it is recommended to use the AddAll () method, so that the data is not out of bounds because of other operations)



The above is the individual in the development of problems, come out and share with you, welcome to reference and know.



Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Nullpointerexception:attempt to invoke virtual method ' Android.view.viewgroup$layoutparam

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.