Java android AblistView NullPointerException

Java android AblistView NullPointerException,java,android,android-listview,nullpointerexception,Java,Android,Android Listview,Nullpointerexception,我对AblistView中的NullPointerException有问题 java.lang.NullPointerException at android.widget.AbsListView.obtainView(AbsListView.java:2161) at android.widget.ListView.makeAndAddView(ListView.java:1831) at android.widget.ListView.fi

我对AblistView中的NullPointerException有问题

  java.lang.NullPointerException
        at android.widget.AbsListView.obtainView(AbsListView.java:2161)
        at android.widget.ListView.makeAndAddView(ListView.java:1831)
        at android.widget.ListView.fillDown(ListView.java:674)
        at android.widget.ListView.fillFromTop(ListView.java:735)
        at android.widget.ListView.layoutChildren(ListView.java:1638)
        at android.widget.AbsListView.onLayout(AbsListView.java:1994)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1585)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.support.v4.widget.SlidingPaneLayout.onLayout(SlidingPaneLayout.java:651)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14008)
        at android.view.ViewGroup.layout(ViewGroup.java:4373)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1892)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1711)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
        at android.view.Choreographer.doCallbacks(Choreographer.java:562)
        at android.view.Choreographer.doFrame(Choreographer.java:532)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
        at android.os.Handler.handleCallback(Handler.java:725)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5041)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
        at dalvik.system.NativeStart.main(Native Method)
这是AbsListView.java中的代码

2159    child = mAdapter.getView(position, null, this);
2160
2161    if (child.getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
2162        child.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
2163    }

因此getView返回null,但没有跟踪我的应用程序调用它的代码位置。有什么帮助吗?

我有完全相同的错误行,找到了您的问题。正如注释中所建议的,您可能正在从此
mAdapter.getView(position,null,this)返回
null

您可以按如下方式形成getView方法:

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        MyCustomView = null;
         // The view here is not built yet
        if (convertView == null) {
            v = new MyCustomView(ctx); // build some view here.
        } // the view can be retrieved
        else {
            v = (MyCustomView) convertView;
        }

        return v;
    }

希望能有所帮助

我遇到了完全相同的错误,找到了你的问题。正如注释中所建议的,您可能正在从此
mAdapter.getView(position,null,this)返回
null

您可以按如下方式形成getView方法:

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        MyCustomView = null;
         // The view here is not built yet
        if (convertView == null) {
            v = new MyCustomView(ctx); // build some view here.
        } // the view can be retrieved
        else {
            v = (MyCustomView) convertView;
        }

        return v;
    }

如果您从
getView()
适配器的
method
返回
null
,NPE将发生…如果您从
getView()
适配器的
method返回
null
,NPE将发生。。。