Android 尝试调用接口方法';int java.util.List.size()

Android 尝试调用接口方法';int java.util.List.size(),android,google-maps,Android,Google Maps,致命异常:主 尝试对空对象引用调用接口方法“int java.util.List.size()” 我试图找到附近的地方。。。。这种错误我得到。。。。帮助我 我应用了什么样的更改plz引导我 公共类MapsActivity扩展FragmentActivity实现LocationListener{ 谷歌地图; 微调器mSprPlaceType; 字符串[]mPlaceType=null; 字符串[]mPlaceTypeName=null; 双梯度=0; 双倍长度=0; @凌驾 创建时受保护的void

致命异常:主 尝试对空对象引用调用接口方法“int java.util.List.size()”

我试图找到附近的地方。。。。这种错误我得到。。。。帮助我 我应用了什么样的更改plz引导我

公共类MapsActivity扩展FragmentActivity实现LocationListener{
谷歌地图;
微调器mSprPlaceType;
字符串[]mPlaceType=null;
字符串[]mPlaceTypeName=null;
双梯度=0;
双倍长度=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_映射);
//位置类型数组
mPlaceType=getResources().getStringArray(R.array.place\u类型);
//地名类型名称数组
mPlaceTypeName=getResources().getStringArray(R.array.place\u type\u name);
//使用位置类型数组创建数组适配器
//填充微调器的步骤
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项,mPlaceTypeName);
//获取对微调器的引用
mSprPlaceType=(微调器)findViewById(R.id.spr\u place\u type);
//在微调器上设置适配器以设置放置类型
mSprPlaceType.setAdapter(适配器);
按钮btnFind;
//获取“查找”按钮的引用
btnFind=(按钮)findviewbyd(R.id.btn\u find);
//获取Google Play可用性状态
int status=GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());
如果(status!=ConnectionResult.SUCCESS){//Google Play服务不可用
int requestCode=10;
Dialog Dialog=GooglePlayServicesUtil.getErrorDialog(状态、此、请求代码);
dialog.show();
}
其他的
{//Google Play服务可用
//获取对SupportMapFragment的引用
SupportMapFragment fragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
//获取谷歌地图
mGoogleMap=fragment.getMap();
//在Google地图中启用MyLocation
mGoogleMap.setMyLocationEnabled(true);
//从系统服务位置\u服务获取LocationManager对象
LocationManager LocationManager=(LocationManager)getSystemService(LOCATION\u服务);
//创建条件对象以检索提供程序
标准=新标准();
//获取最佳提供商的名称
字符串提供程序=locationManager.getBestProvider(条件为true);
//从GPS获取当前位置
Location Location=locationManager.getLastKnownLocation(提供者);
如果(位置!=null){
onLocationChanged(位置);
}
locationManager.RequestLocationUpdate(提供程序,20000,0,此);
//设置“查找”按钮的单击事件列表器
btnFind.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int selectedPosition=mSprPlaceType.getSelectedItemPosition();
字符串位置=mPlaceTypeName[selectedPosition];
Toast.makeText(getApplicationContext(),“working”,Toast.LENGTH_LONG.show();
StringBuilder sb=新的StringBuilder(“https://maps.googleapis.com/maps/api/place/nearbysearch/json?");
sb.追加(“类型=地点”);
sb.追加(“&location=“+mLatitude+”,“+mllongitude”);
sb.追加(“&radius=10000”);
sb.追加(“&sensor=true”);
sb.append(“&key=[My-API-key]”);
//创建新的非ui线程任务以下载json数据
PlacesTask PlacesTask=新的PlacesTask();
//调用类PlaceTask的“doInBackground()”方法
执行(sb.toString());
Toast.makeText(getApplicationContext(),“working”,Toast.LENGTH_LONG.show();
}
});
}
}
/**从url下载json数据的方法*/
私有字符串下载URL(字符串strUrl)引发IOException{
字符串数据=”;
InputStream iStream=null;
HttpURLConnection-urlConnection=null;
试一试{
URL=新URL(strUrl);
//创建http连接以与url通信
urlConnection=(HttpURLConnection)url.openConnection();
//连接到url
urlConnection.connect();
//从url读取数据
iStream=urlConnection.getInputStream();
BufferedReader br=新的BufferedReader(新的InputStreamReader(iStream));
StringBuffer sb=新的StringBuffer();
字符串行=”;
而((line=br.readLine())!=null){
某人附加(行);
}
data=sb.toString();
br.close();
}捕获(例外e){
Log.d(“下载url时出现异常”,例如toString());
}最后{
iStream.close();
urlConnection.disconnect();
}
返回数据;
}
/**一个类,下载谷歌的地方*/
私有类PlacesTask扩展异步任务{
字符串数据=null;
//由此对象的execute()方法调用
@凌驾
受保护的字符串doInBackground(字符串…url){
试一试{
数据=下载url(url[0]);
}捕获(例外e){
Log.d(“后台任务”,例如toString());
}
返回数据;
}
//在完全执行doInBackground()方法后执行
@凌驾
受保护vo
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
                    at com.example.admin.newmapplace.MapsActivity$ParserTask.onPostExecute(MapsActivity.java:245)
                    at com.example.admin.newmapplace.MapsActivity$ParserTask.onPostExecute(MapsActivity.java:215)
for(int i=0;i<list.size();i++){
protected void onPostExecute(List<HashMap<String,String>> list){
    @Override
    protected List<HashMap<String,String>> doInBackground(String... jsonData) {

        List<HashMap<String, String>> places = null;
        PlaceJSONParser placeJsonParser = new PlaceJSONParser();

        try{
            jObject = new JSONObject(jsonData[0]);

            /** Getting the parsed data as a List construct */
            places = placeJsonParser.parse(jObject);

        }catch(Exception e){
            Log.d("Exception",e.toString());
        }
        return places;
    }
Log.e(TAGOFMESSAGE,"Raised an exception during doInBackground Method",e);