Android 我想在弹出窗口中显示文件和属性

Android 我想在弹出窗口中显示文件和属性,android,arcgis,Android,Arcgis,我想在单击点时在弹出窗口中显示文件和属性。但我得到了空指针异常。我为什么回到我身边?你能帮忙吗?我该怎么办?我确实喜欢esri android样本。但它不起作用 /// long press to map mapView.setOnLongPressListener(new OnLongPressListener() { private static final long serialVersionUID = 1L; // ArcGISFeatureLa

我想在单击点时在弹出窗口中显示文件和属性。但我得到了空指针异常。我为什么回到我身边?你能帮忙吗?我该怎么办?我确实喜欢esri android样本。但它不起作用

    /// long press to map
   mapView.setOnLongPressListener(new OnLongPressListener() {
        private static final long serialVersionUID = 1L;

     // ArcGISFeatureLayer
        private ArcGISFeatureLayer featureLay = null;

      /// override onLongPress
        @Override
        public boolean onLongPress(final float v, final float v1) {
            if (mapView.isLoaded()) {
                if (progressDialog != null && progressDialog.isShowing()
                        && count.intValue() == 0)
                 //dismiss dialog
                    progressDialog.dismiss();

                // Get the point featurelayer
                Layer[] layers = mapView.getLayers();
                for (Layer layer : layers) {
                    if (layer instanceof ArcGISFeatureLayer) {
                        ArcGISFeatureLayer fl = (ArcGISFeatureLayer) layer;
                        if (fl.getGeometryType() == Geometry.Type.POINT) {
                            featureLay = fl;
                            break;
                        }
                    }
                }
                //// if featureLay null
                if (featureLay == null)
                    return false;

                ArcGISPopupInfo popupInfos = (ArcGISPopupInfo) featureLay.getPopupInfos();

              ///!!!!!!!!!!!!!!! return to me null////////////
                if (popupInfos == null)
                    return false;

                // Create a new feature
                Point point = mapView.toMapPoint(v, v1);
                Feature feature2;
                FeatureType[] types = featureLay.getTypes();
                if (types == null || types.length < 1) {
                    FeatureTemplate[] templates = featureLay
                            .getTemplates();
                    if (templates == null || templates.length < 1) {
                        feature2 = new Graphic(point, null);
                    } else {
                        feature2 = featureLay.createFeatureWithTemplate(
                                templates[0], point);
                    }
                } else {
                    feature2 = featureLay.createFeatureWithType(
                            featureLay.getTypes()[0], point);
                }

                // Instantiate a PopupContainer
                popupContainer = new PopupContainer(mapView);

                 // popup create 
                Popup popupp = featureLay.createPopup(mapView, 0, feature2);
                popupContainer.addPopup(popupp);
                popupp.setEditMode(true);
                createEditorBar(featureLay, false);

                // Create a dialog for the popups and display it.
                popupDialog = new PopupDialog(mapView.getContext(),
                        popupContainer);
              // show popup
                popupDialog.show();
            }
            return true;
        }
    });
///长按可映射
setOnLongPressListener(新的OnLongPressListener(){
私有静态最终长serialVersionUID=1L;
//ArcGISFeatureLayer
私有ArcGISFeatureLayer featureLay=null;
///超控onLongPress
@凌驾
公共布尔onLongPress(最终浮点v,最终浮点v1){
if(mapView.isLoaded()){
if(progressDialog!=null&&progressDialog.isShowing()
&&count.intValue()=0)
//取消对话框
progressDialog.disclose();
//获取点要素图层
Layer[]layers=mapView.getLayers();
用于(图层:图层){
if(ArcGISFeatureLayer的图层实例){
ArcGISFeatureLayer fl=(ArcGISFeatureLayer)层;
if(fl.getGeometryType()==Geometry.Type.POINT){
featureLay=fl;
打破
}
}
}
////如果featureLay为空
如果(featureLay==null)
返回false;
ArcGISPopupInfo-popupInfos=(ArcGISPopupInfo)featureLay.getPopupInfos();
///!!!!!!!!!!!!!!!!!!!!!!!!!返回给我////////////
if(popupInfos==null)
返回false;
//创建新功能
Point Point=地图视图。到点(v,v1);
特征2;
FeatureType[]类型=featureLay.getTypes();
if(types==null | | types.length<1){
FeatureTemplate[]模板=featureLay
.getTemplates();
if(templates==null | | templates.length<1){
feature2=新图形(点,空);
}否则{
feature2=featureLay.createFeatureWithTemplate(
模板[0],点);
}
}否则{
feature2=featureLay.createFeatureWithType(
featureLay.getTypes()[0],点);
}
//实例化PopupContainer
popupContainer=新的popupContainer(mapView);
//弹出式创建
Popup Popup=featureLay.createPopup(地图视图,0,feature2);
popupContainer.addPopup(popupp);
popupp.setEditMode(真);
createEditorBar(featureLay,false);
//为弹出窗口创建一个对话框并显示它。
popupDialog=新建popupDialog(mapView.getContext(),
popupContainer);
//显示弹出窗口
show();
}
返回true;
}
});

请张贴stacktrace。在哪一行获得空指针异常?ArcGISPopupInfo popupInfos=(ArcGISPopupInfo)featureLay.getPopupInfos();我在这些行中得到空值:Popup popupp=featureLay.createPopup(mapView,0,feature2);你能把stacktrace贴出来吗?