Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
60
DataChart Null Pointer Exception after setting DataSource
posted

Using the Xamarin InfragisticsAndroidBindings.dll library a null pointer exception is thrown when adding either the axis or lineseries after setting a datasource; To clarify, if we set the datasource for a categoryXaxis and add it to the datachart, the exception is thrown, similarly if we set the datasource for a lineseries and add it to the datachart, the exception is also thrown.

We have the following code for creating the chart;

        private void CreateChart(GraphViewHolder viewHolder, int position, int sensorIndex)
        {
            SensorChartDataSource dataSource = new SensorChartDataSource(this.ViewModel, sensorIndex);

            if (viewHolder.chart == null)
            {
                viewHolder.xAxis = new CategoryXAxis();
                viewHolder.yAxis = new NumericYAxis();

                //viewHolder.xAxis.Label = "Label";

                viewHolder.lineSeries = new LineSeries();

                viewHolder.lineSeries.XAxis = viewHolder.xAxis;
                viewHolder.lineSeries.YAxis = viewHolder.yAxis;

                viewHolder.lineSeries.MarkerType = MarkerType.None;
                viewHolder.lineSeries.ValueMemberPath = "Value";



                viewHolder.chart = new DataChartView(this._Context);
                viewHolder.chart.HorizontalZoomable = true;
                viewHolder.chart.VerticalZoomable = true;

                viewHolder.xAxis.DataSource = dataSource;
                viewHolder.lineSeries.DataSource = dataSource;

                viewHolder.rlGraph.AddView(viewHolder.chart);

                if (viewHolder.chart.SeriesCount > 0)
                     viewHolder.chart.ClearSeries();

                viewHolder.chart.AddAxis(viewHolder.xAxis);
                viewHolder.chart.AddAxis(viewHolder.yAxis);

                viewHolder.chart.AddSeries(viewHolder.lineSeries);


            }

     }

/// This is the SensorChartDataSource class

public class SensorChartDataSource : Java.Lang.Object, IList<DataItem>
    {
        public List<DataItem> _Items { get; set; }

        private SensorPageModel _viewModel;
        private int _sensorIndex = 0;
        private MantisBLE.Models.Sensors.Sensor _sensor;

        public SensorChartDataSource(SensorPageModel viewModel, int sensorIndex)
        {
            _Items = new List<DataItem>();

            this._viewModel = viewModel;
            this._sensorIndex = sensorIndex;
            _sensor = this._viewModel.GetSensorFromIndex(_sensorIndex);

            SetDataValues();
        }

        public void SetDataValues()
        {
                MantisBLE.Models.Sensors.SensorSample[] sensedDataValues = _viewModel.GetSensorData(_sensor);

                foreach (var dataValue in sensedDataValues)
                {
                    var dataItem = new DataItem();

                    //this.Add(dataItem);
                    if (dataValue == null)
                    {
                        this.Add(new DataItem
                        {
                            Label = "",
                            Value = 0
                        });
                    }
                    else
                    {
                        this.Add(new DataItem
                        {
                            Label = this._viewModel.GetDataInterval(dataValue.Timestamp),
                            Value = dataValue.GetValue(_sensor.SensedData)
                        });
                    }
                }
        }

        #region IList Implementation

        public int IndexOf(DataItem item)
        {
            return _Items.IndexOf(item);
        }

        public void Insert(int index, DataItem item)
        {
            _Items.Insert(index, item);
        }

        public void RemoveAt(int index)
        {
            _Items.RemoveAt(index);
        }

        public DataItem this[int index]
        {
            get
            {
                return _Items[index];
            }
            set
            {
                _Items[index] = value;
            }
        }

        public void Add(DataItem item)
        {
            _Items.Add(item);
        }

        public void Clear()
        {
            _Items.Clear();
        }

        public bool Contains(DataItem item)
        {
            return _Items.Contains(item);
        }

        public void CopyTo(DataItem[] array, int arrayIndex)
        {
            _Items.CopyTo(array, arrayIndex);
        }

        public int Count
        {
            get { return _Items.Count; }
        }

        public bool IsReadOnly
        {
            get { return false; }
        }

        public bool Remove(DataItem item)
        {
            return _Items.Remove(item);
        }

        public IEnumerator<DataItem> GetEnumerator()
        {
            return _Items.GetEnumerator();
        }

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return _Items.AsEnumerable().GetEnumerator();
        }

        #endregion IList Implementation
    }

//// Here's the DataItem object


    public class DataItem : Java.Lang.Object
    {
        public double Value { get; set; }

         public string Label { get; set; }
    }

Here's a full stack trace;

Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown.

08-05 14:22:48.062 D/Mono    (19800): Searching for '__android_log_print'.

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0

08-05 14:22:48.062 D/Mono    (19800): Probing '__android_log_print'.

  at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00063] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:571

  at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x0001d] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:578

08-05 14:22:48.062 D/Mono    (19800): Found as '__android_log_print'.

  at Com.Infragistics.Controls.SeriesViewerBaseView.AddSeries (Com.Infragistics.Controls.Series p0) [0x0005c] in <filename unknown>:0

  at MantisBLE.Droid.Adapters.SensorGraphAdapter.CreateChart (MantisBLE.Droid.Adapters.GraphViewHolder viewHolder, Int32 position, Int32 sensorIndex) [0x0019d] in e:\TFS\Features\Source\Products\MantisMobile\MantisBLE\MantisBLE.Droid\Adapters\SensorGraphAdapter.cs:125

  --- End of managed exception stack trace ---

java.lang.NullPointerException

       at com.infragistics.controls.CollectionWrapper.getEnumeratorObject(CollectionWrapper.java:41)

       at com.infragistics.controls.FastItemsSource.addAndAttachItemHandlers(FastItemsSource.java:111)

       at com.infragistics.controls.FastItemsSource.attach(FastItemsSource.java:153)

       at com.infragistics.controls.FastItemsSource.setItemsSource(FastItemsSource.java:65)

       at com.infragistics.controls.SyncLink$4.invoke(SyncLink.java:108)

       at com.infragistics.controls.SyncLink.createDefaultFastItemsSource(SyncLink.java:105)

       at com.infragistics.controls.

08-05 14:22:48.062 I/mono-stdout(19800): Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown.

SyncLink.access$200(SyncLink.java:21)

       at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

       at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

       at com.infragistics.controls.SyncLink.getFastItemsSource(SyncLink.java:140)

       at com.infragistics.controls.SeriesImplementation.registerItemsSource(SeriesImplementation.java:3345)

       at com.infragistics.controls.SeriesImplementation.propertyUpdatedOverride(SeriesImplementation.java:1430)

       at com.infragistics.controls.MarkerSeriesImplementation.propertyUpdatedOverride(MarkerSeriesImplementation.java:280)

       at com.infragistics.controls.CategorySeriesImplementation.propertyUpdatedOverride(CategorySeriesImplementation.java:324)

       at com.infragistics.controls.AnchoredCategorySeriesImplementation.propertyUpdatedOverride(AnchoredCategorySeriesImplementation.java:342)

       at com.infragistics.controls.HorizontalAnchoredCategorySeriesImplementation.propertyUpdatedOverride(HorizontalAnchoredCategorySeriesImplementation.java:181)

       at com.infragistics.controls

08-05 14:22:48.072 I/mono-stdout(19800):   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0

.LineSeriesImplementation.propertyUpdatedOverride(LineSeriesImplementation.java:111)

       at com.infragistics.controls.SeriesImplementation$4.invoke(SeriesImplementation.java:97)

       at com.infragistics.controls.SeriesImplementation.raisePropertyChanged(SeriesImplementation.java:883)

       at com.infragistics.controls.SeriesImplementation.setSyncLink(SeriesImplementation.java:1638)

       at com.infragistics.controls.SeriesViewerImplementation.series_CollectionChanged(SeriesViewerImplementation.java:119)

       at com.infragistics.controls.SeriesViewerImplementation.access$000(SeriesViewerImplementation.java:25)

       at com.infragistics.controls.SeriesViewerImplementation$3.invoke(SeriesViewerImplementation.java:81)

       at com.infragistics.controls.ObservableCollection__1.onCollectionChanged(ObservableCollection__1.java:153)

       at com.infragistics.controls.ObservableCollection__1.doAddItem(ObservableCollection__1.java:105)

       at com.infragistics.controls.List__1.add(List__1.java:256)

       at com.infragistics.controls.SeriesViewerBaseView.addSeries

08-05 14:22:48.072 I/mono-stdout(19800):   at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00063] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:571

(SeriesViewerBaseView.java:157)

       at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.n_getView(Native Method)

       at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.getView(SensorGraphAdapter.java:39)

       at android.widget.AbsListView.obtainView(AbsListView.java:2724)

       at android.widget.GridView.onMeasure(GridView.java:1065)

       at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.n_onMeasure(Native Method)

       at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.onMeasure(ExpandableHeightGridView.java:52)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

       at android.view.View.measure(View.java:17479)

       at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1779)

       at android.widget.FrameLayout

08-05 14:22:48.072 I/mono-stdout(19800):   at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x0001d] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:578

.onMeasure(FrameLayout.java:310)

       at android.widget.ScrollView.onMeasure(ScrollView.java:476)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

       at android.view.View.measure(View.java:17479)

       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)

       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)

       at android.view.View.measure(View.java:17479)

       at md552d

efbc788a1edc5673350ee38e2ee0a.BasePageRenderer.n_onLayout(Native Method)

       at md552defbc788a1edc5673350ee38e2ee0a.BasePageRenderer.onLayout(BasePageRenderer.java:44)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

       at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.onLayout(NavigationRenderer.java:46)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.onLayout(MasterDetailContainer.java:53)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4

08-05 14:22:48.072 I/mono-stdout(19800):   at Com.Infragistics.Controls.SeriesViewerBaseView.AddSeries (Com.Infragistics.Controls.Series p0) [0x0005c] in <filename unknown>:0

867)

       at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.onLayout(MasterDetailRenderer.java:67)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.onLayout(PlatformRenderer.java:62)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1666)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1442)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

       at

08-05 14:22:48.082 I/mono-stdout(19800):   at MantisBLE.Droid.Adapters.SensorGraphAdapter.CreateChart (MantisBLE.Droid.Adapters.GraphViewHolder viewHolder, Int32 position, Int32 sensorIndex) [0x0019d] in e:\TFS\Features\Source\Products\MantisMobile\MantisBLE\MantisBLE.Droid\Adapters\SensorGraphAdapter.cs:125

 android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.

[0:] Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown.

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0

  at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00063] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:571

  at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x0001d] in /Users/builder/data/lanes/1879/5f55a9ef/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:578

  at Com.Infragistics.Controls.SeriesViewerBaseView.AddSeries (Com.Infragistics.Controls.Series p0) [0x0005c] in <filename unknown>:0

  at MantisBLE.Droid.Adapters.SensorGraphAdapter.CreateChart (MantisBLE.Droid.Adapters.GraphViewHolder viewHolder, Int32 position, Int32 sensorIndex) [0x0019d] in e:\TFS\Features\Source\Products\MantisMobile\MantisBLE\MantisBLE.Droid\Adapters\SensorGraphAdapter.cs:125

  --- End of managed exception stack trace ---

java.lang.NullPointerException

       at com.infragistics.controls.CollectionWrapper.getEnumeratorObject(CollectionWrapper.java:41)

       at com.infragistics.controls.FastItemsSource.addAndAttachItemHandlers(FastItemsSource.java:111)

       at com.infragistics.controls.FastItemsSource.attach(FastItemsSource.java:153)

       at com.infragistics.controls.FastItemsSource.setItemsSource(FastItemsSource.java:65)

       at com.infragistics.controls.SyncLink$4.invoke(SyncLink.java:108)

       at com.infragistics.controls.SyncLink.createDefaultFastItemsSource(SyncLink.java:105)

       at com.infragistics.controls.SyncLink.access$200(SyncLink.java:21)

       at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

       at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

       at com.infragistics.controls.SyncLink.getFastItemsSource(SyncLink.java:140)

       at com.infragistics.controls.SeriesImplementation.registerItemsSource(SeriesImplementation.java:3345)

       at com.infragistics.controls.SeriesImplementation.propertyUpdatedOverride(SeriesImplementation.java:1430)

       at com.infragistics.controls.MarkerSeriesImplementation.propertyUpdatedOverride(MarkerSeriesImplementation.java:280)

       at com.infragistics.controls.CategorySeriesImplementation.propertyUpdatedOverride(CategorySeriesImplementation.java:324)

       at com.infragistics.controls.AnchoredCategorySeriesImplementation.propertyUpdatedOverride(AnchoredCategorySeriesImplementation.java:342)

       at com.infragistics.controls.HorizontalAnchoredCategorySeriesImplementation.propertyUpdatedOverride(HorizontalAnchoredCategorySeriesImplementation.java:181)

       at com.infragistics.controls.LineSeriesImplementation.propertyUpdatedOverride(LineSeriesImplementation.java:111)

       at com.infragistics.controls.SeriesImplementation$4.invoke(SeriesImplementation.java:97)

       at com.infragistics.controls.SeriesImplementation.raisePropertyChanged(SeriesImplementation.java:883)

       at com.infragistics.controls.SeriesImplementation.setSyncLink(SeriesImplementation.java:1638)

       at com.infragistics.controls.SeriesViewerImplementation.series_CollectionChanged(SeriesViewerImplementation.java:119)

       at com.infragistics.controls.SeriesViewerImplementation.access$000(SeriesViewerImplementation.java:25)

       at com.infragistics.controls.SeriesViewerImplementation$3.invoke(SeriesViewerImplementation.java:81)

       at com.infragistics.controls.ObservableCollection__1.onCollectionChanged(ObservableCollection__1.java:153)

       at com.infragistics.controls.ObservableCollection__1.doAddItem(ObservableCollection__1.java:105)

       at com.infragistics.controls.List__1.add(List__1.java:256)

       at com.infragistics.controls.SeriesViewerBaseView.addSeries(SeriesViewerBaseView.java:157)

       at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.n_getView(Native Method)

       at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.getView(SensorGraphAdapter.java:39)

       at android.widget.AbsListView.obtainView(AbsListView.java:2724)

       at android.widget.GridView.onMeasure(GridView.java:1065)

       at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.n_onMeasure(Native Method)

       at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.onMeasure(ExpandableHeightGridView.java:52)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

       at android.view.View.measure(View.java:17479)

       at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1779)

       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)

       at android.widget.ScrollView.onMeasure(ScrollView.java:476)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)

       at android.view.View.measure(View.java:17479)

       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

       at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

       at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

       at android.view.View.measure(View.java:17479)

       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)

       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)

       at android.view.View.measure(View.java:17479)

       at md552defbc788a1edc5673350ee38e2ee0a.BasePageRenderer.n_onLayout(Native Method)

       at md552defbc788a1edc5673350ee38e2ee0a.BasePageRenderer.onLayout(BasePageRenderer.java:44)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

       at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.onLayout(NavigationRenderer.java:46)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.onLayout(MasterDetailContainer.java:53)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.onLayout(MasterDetailRenderer.java:67)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.n_onLayout(Native Method)

       at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.onLayout(PlatformRenderer.java:62)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1666)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1442)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

       at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2356)

       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)

       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)

       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6630)

       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)

       at android.view.Choreographer.doCallbacks(Choreographer.java:603)

       at android.view.Choreographer.doFrame(Choreographer.java:573)

       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)

       at android.os.Handler.handleCallback(Handler.java:733)

       at android.os.Handler.dispatchMessage(Handler.java:95)

       at android.os.Looper.loop(Looper.java:136)

       at android.app.ActivityThread.main(ActivityThread.java:5479)

       at java.lang.reflect.Method.invokeNative(Native Method)

       at java.lang.reflect.Method.invoke(Method.java:515)

       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)

       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)

       at dalvik.system.NativeStart.main(Native Method)

08-05 14:22:48.082 I/mono-stdout(19800):   --- End of managed exception stack trace ---

FrameLayout.layoutChildren(FrameLayout.java:453)

       at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

       at android.view.View.layout(View.java:15746)

       at android.view.ViewGroup.layout(ViewGroup.java:4867)

       at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2356)

       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)

       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)

       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6630)

       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)

       at android.view.Choreographer.doCallbacks(Choreographer.java:603)

       at android.view.Choreographer.doFrame(Choreographer.java:573)

       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)

       at android.os.Handler.handleCallback(Handler.java:733)

       at android.os.Handler.dispatchMessage(Handler.java:95)

       at android.os.Looper.loop(Looper.java:136)

       at android.app.ActivityThread.main(ActivityThread.java:5479)

       at java.lang.reflect.M

08-05 14:22:48.082 I/mono-stdout(19800): java.lang.NullPointerException

ethod.invokeNative(Native Method)

       at java.lang.reflect.Method.invoke(Method.java:515)

       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)

       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)

       at dalvik.system.NativeStart.main(Native Method)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.CollectionWrapper.getEnumeratorObject(CollectionWrapper.java:41)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.FastItemsSource.addAndAttachItemHandlers(FastItemsSource.java:111)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.FastItemsSource.attach(FastItemsSource.java:153)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.FastItemsSource.setItemsSource(FastItemsSource.java:65)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink$4.invoke(SyncLink.java:108)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink.createDefaultFastItemsSource(SyncLink.java:105)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink.access$200(SyncLink.java:21)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink$5.invoke(SyncLink.java:125)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SyncLink.getFastItemsSource(SyncLink.java:140)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SeriesImplementation.registerItemsSource(SeriesImplementation.java:3345)

08-05 14:22:48.082 I/mono-stdout(19800): at com.infragistics.controls.SeriesImplementation.propertyUpdatedOverride(SeriesImplementation.java:1430)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.CategorySeriesImplementation.propertyUpdatedOverride(CategorySeriesImplementation.java:324)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.AnchoredCategorySeriesImplementation.propertyUpdatedOverride(AnchoredCategorySeriesImplementation.java:342)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.HorizontalAnchoredCategorySeriesImplementation.propertyUpdatedOverride(HorizontalAnchoredCategorySeriesImplementation.java:181)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.LineSeriesImplementation.propertyUpdatedOverride(LineSeriesImplementation.java:111)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesImplementation$4.invoke(SeriesImplementation.java:97)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesImplementation.raisePropertyChanged(SeriesImplementation.java:883)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesImplementation.setSyncLink(SeriesImplementation.java:1638)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesViewerImplementation.series_CollectionChanged(SeriesViewerImplementation.java:119)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesViewerImplementation.access$000(SeriesViewerImplementation.java:25)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesViewerImplementation$3.invoke(SeriesViewerImplementation.java:81)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.ObservableCollection__1.onCollectionChanged(ObservableCollection__1.java:153)

08-05 14:22:48.102 I/mono-stdout(19800): at android.vie08-05 14:22:48.092 I/mono-stdout(19800):        at com.infragistics.controls.ObservableCollection__1.doAddItem(ObservableCollection__1.java:105)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.List__1.add(List__1.java:256)

08-05 14:22:48.092 I/mono-stdout(19800): at com.infragistics.controls.SeriesViewerBaseView.addSeries(SeriesViewerBaseView.java:157)

08-05 14:22:48.092 I/mono-stdout(19800): at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.n_getView(Native Method)

08-05 14:22:48.092 I/mono-stdout(19800): at md57b22af91d77f576bb3d2c7c497a3314f.SensorGraphAdapter.getView(SensorGraphAdapter.java:39)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.AbsListView.obtainView(AbsListView.java:2724)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.GridView.onMeasure(GridView.java:1065)

08-05 14:22:48.092 I/mono-stdout(19800): at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.n_onMeasure(Native Method)

08-05 14:22:48.092 I/mono-stdout(19800): at md599f3085b7f5ddbb18b805eaf1b375dec.ExpandableHeightGridView.onMeasure(ExpandableHeightGridView.java:52)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1779)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.ScrollView.onMeasure(ScrollView.java:476)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.092 I/mono-stdout(19800): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)

08-05 14:22:48.092 I/mono-stdout(19800): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.measure(View.java:17479)

08-05 14:22:48.102 I/mono-stdout(19800): at md552defbc788a1edc5673350ee38e2ee0a.BasePageRenderer.n_onLayout(Native Method)

08-05 14:22:48.102 I/mono-stdout(19800): at md552defbc788a1edc5673350ee38e2ee0a.BasePageRenderer.onLayout(BasePageRenderer.java:44)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.n_onLayout(Native Method)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.NavigationRenderer.onLayout(NavigationRenderer.java:46)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:29)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.n_onLayout(Native Method)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailContainer.onLayout(MasterDetailContainer.java:53)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.n_onLayout(Native Method)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.MasterDetailRenderer.onLayout(MasterDetailRenderer.java:67)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.n_onLayout(Native Method)

08-05 14:22:48.102 I/mono-stdout(19800): at md5530bd51e982e6e7b340b73e88efe666e.PlatformRenderer.onLayout(PlatformRenderer.java:62)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1666)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.LinearLayout.onLayout(LinearLayout.java:1442)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

08-05 14:22:48.102 I/mono-stdout(19800): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

08-05 14:22:48.102 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)

08-05 14:22:48.112 I/mono-stdout(19800): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.112 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.122 I/mono-stdout(19800): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)

08-05 14:22:48.122 I/mono-stdout(19800): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.View.layout(View.java:15746)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.ViewGroup.layout(ViewGroup.java:4867)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2356)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6630)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.Choreographer.doCallbacks(Choreographer.java:603)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.Choreographer.doFrame(Choreographer.java:573)

08-05 14:22:48.122 I/mono-stdout(19800): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)

08-05 14:22:48.122 I/mono-stdout(19800): at android.os.Handler.handleCallback(Handler.java:733)

08-05 14:22:48.122 I/mono-stdout(19800): at android.os.Handler.dispatchMessage(Handler.java:95)

08-05 14:22:48.122 I/mono-stdout(19800): at android.os.Looper.loop(Looper.java:136)

08-05 14:22:48.122 I/mono-stdout(19800): at android.app.ActivityThread.main(ActivityThread.java:5479)

08-05 14:22:48.122 I/mono-stdout(19800): at java.lang.reflect.Method.invokeNative(Native Method)

08-05 14:22:48.122 I/mono-stdout(19800): at java.lang.reflect.Method.invoke(Method.java:515)

08-05 14:22:48.122 I/mono-stdout(19800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)

08-05 14:22:48.122 I/mono-stdout(19800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)

08-05 14:22:48.122 I/mono-stdout(19800): at dalvik.system.NativeStart.main(Native Method)

  • 34510
    Verified Answer
    Offline posted

    Hi Sciberus User,

    I believe you already have a private case open for this issue.  The case number is CAS-159415-N6Z2D0.  I have already replied to that support case but I will also update this thread with the same info.

    I put together a sample to try and reproduce this issue but unfortunately I was not able to reproduce it.  The chart rendered as you would expect while using the InfragisticsAndroidBindings.dll.  I have attached the sample that I created.  Can you try testing it out on your end?

    I would also like to know the version number of the InfragisticsAndroidBindings.dll that you are currently using.

    DataChartNullPointerException.zip