arcgis-android-100.2 bug:Can only call this method on a loaded table

剛剛接觸arcgis android,在存儲地圖要素的時候出現bug,導致應用閃退。異常日誌:

this = {RuntimeInit$UncaughtHandler@7229} 
t = {Thread@3691} "Thread[main,5,main]"
e = {ArcGISRuntimeException@7230} "com.esri.arcgisruntime.ArcGISRuntimeException: Cannot call this method in this context"
 mAdditionalMessage = "Can only call this method on a loaded table."
 mCause = null
 mCode = 15
 mDomain = {ArcGISRuntimeException$ErrorDomain@7250} "ARCGIS_RUNTIME"
 mErrorMessage = "Cannot call this method in this context"
 cause = {ArcGISRuntimeException@7230} "com.esri.arcgisruntime.ArcGISRuntimeException: Cannot call this method in this context"

異常代碼爲:


  private void save2ArcgisService() {
        //保存路徑到arcgis服務器
        final ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(featureUrl);
        FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
        map.getMap().getOperationalLayers().add(featureLayer);
        polylinePoints.add(new Point(23.041117,113.810075));
        addFeature( new Polyline(polylinePoints), serviceFeatureTable);

    }

異常發生原因爲ServiceFeatureTable加載完成之前調用地圖要素存儲方法。代碼更正:

    private void save2ArcgisService() {
        //保存路徑到arcgis服務器
        final ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(featureUrl);
        FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
        map.getMap().getOperationalLayers().add(featureLayer);
        polylinePoints.add(new Point(23.041117,113.810075));
        serviceFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE);
        serviceFeatureTable.addLoadStatusChangedListener(new LoadStatusChangedListener() {
            @Override
            public void loadStatusChanged(LoadStatusChangedEvent loadStatusChangedEvent) {
                if (loadStatusChangedEvent.getNewLoadStatus() == LoadStatus.LOADED) {
                    addFeature( new Polyline(polylinePoints), serviceFeatureTable);
                }

            }
        });

    }

異常解決。

感謝 https://blog.csdn.net/allenlu2008/article/details/71440288

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章