App Crash - <filename unknown =“”>

时间:2016-09-23 13:53:28

标签: xamarin mono xamarin.android

我有一个非常简单的应用程序。它由一个有2个页面的viewpager组成,在两个页面中它们都有自定义列表视图的片段,这些片段预先填充在应用程序加载上并保持&#34; alive&#34;使用:

_viewPager.OffscreenPageLimit = 2;

listviews有一个继承自BaseAdapter的适配器,我收到崩溃报告。在调试时,甚至在我自己使用应用程序时,我无法在本地复制此内容。

堆栈跟踪是:

  

java.lang.RuntimeException:java.lang.reflect.InvocationTargetException       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)   引起:java.lang.reflect.InvocationTargetException       at java.lang.reflect.Method.invoke(Native Method)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)       ......还有1个   引起:md52ce486a14f4bcd95899665e9d932190b.JavaProxyThrowable:System.NullReferenceException:对象引用未设置为对象的实例     at foo.bar.UserListViewAdaptor.get_Count()&lt; 0x9be17c00 + 0x00018&gt; in:0     在Android.Widget.BaseAdapter.n_GetCount(IntPtr jnienv,IntPtr native__this)&lt; 0x9be17b98 + 0x00037&gt; in:0     at(wrapper dynamic-method)System.Object:aaa28d5c-cd54-4afd-9f37-9496877357de(intptr,intptr)   ---从抛出异常的先前位置开始的堆栈跟踪结束---

我从来没有遇到任何崩溃/错误,只是在我重新设计应用程序以使用我遇到过的视图寻呼机时,它才是一个单独的活动中的片段而且它有效精细。也许它与浏览器处理片段的方式有关,我只是不知道。

Xamarin本身已经从一对一的支持转移到了社区支持驱动的环境,因此建议在SO上发布,但我并没有屏住呼吸获得支持。

如果有人能说清楚,我会很感激。

编辑:

这是UserListViewAdapter的要点:

https://gist.github.com/jaymarvels/4160cebcfcea8639927edfd9d2649d7f

1 个答案:

答案 0 :(得分:0)

通过堆栈跟踪,Count中的UserListViewAdapter方法抛出空引用异常。由于您只访问用户列表,我想这可能是列表为空。我可能会将该财产改为......

public override int Count
{
    get
    {
        return (_items != null) ? _items.Count : 0;
    }
}

此外,至少应该实现视图持有者模式,或切换到使用RecyclerView。呼叫FindViewById是一项昂贵的性能调用。当用户滚动时,每行调用3次可能会导致性能下降。