Ошибка ArrayAdapter в Android?

При входе в метод listeyidoldur() запускается вторая попытка catch.catch runing.open сообщение "hata". Карты работают, но при удалении второй попытки, я получаю сообщение об ошибке "приложение остановлено". Вы можете мне помочь?

        import org.w3c.dom.Document;
        import org.w3c.dom.Element;
        import org.w3c.dom.NodeList;

        import java.io.BufferedInputStream;
        import java.net.HttpURLConnection;
        import java.net.URL;
        import java.util.ArrayList;
        import java.util.List;

        import javax.xml.parsers.DocumentBuilder;
        import javax.xml.parsers.DocumentBuilderFactory;


        public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

            private GoogleMap myMap;
            ListView liste;

            public static final LatLng PERTH = new LatLng(36.57, 36.17);
            private FragmentManager childFragmentManager;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_maps);
                getHandleOnMap();
                liste=(ListView)findViewById(R.id.listView);
                listeyidoldur();
            }

            private void listeyidoldur() {
                StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);

                String xml_url="http://www.bilisimzade.net/mekan.xml";
                List<String> mekan_liste=new ArrayList<>();
                HttpURLConnection baglanti=null;
                try{
                URL url=new URL(xml_url);
                baglanti=(HttpURLConnection) url.openConnection();
                int baglanti_durum=baglanti.getResponseCode();
                   if(baglanti_durum==HttpURLConnection.HTTP_OK){
                       BufferedInputStream stream=new BufferedInputStream(baglanti.getInputStream());
                       DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
                       DocumentBuilder documentBuilder=documentBuilderFactory.newDocumentBuilder();
                       Document document=documentBuilder.parse(stream);

                       NodeList mekan_dugum=document.getElementsByTagName("mekan");

                       for(int i=0;i<mekan_dugum.getLength();i++){
                           Element element=(Element)mekan_dugum.item(i);

                           NodeList nodeListisim=element.getElementsByTagName("isim");
                           NodeList nodeykor=element.getElementsByTagName("ykor");
                           NodeList nodexkor=element.getElementsByTagName("xkor");
                           NodeList nodetel=element.getElementsByTagName("tel");
                           NodeList nodeadres=element.getElementsByTagName("adres");

                           String isim=nodeListisim.item(0).getFirstChild().getNodeValue();
                           String ykor=nodeykor.item(0).getFirstChild().getNodeValue();
                           String xkor=nodexkor.item(0).getFirstChild().getNodeValue();
                           String tel=nodetel.item(0).getFirstChild().getNodeValue();
                           String adres=nodeadres.item(0).getFirstChild().getNodeValue();


                            mekan_liste.add(isim +"adlı şirketin koordinatları"+ykor+","+xkor+" "+tel  );


                       }

                   }

                }catch (Exception ex){
                    Log.e("xml parse hatası" , ex.getMessage().toString());
                }finally {
                    if (baglanti!=null){
                    baglanti.disconnect();

                    }
                }
                try {
                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, mekan_liste);
                    liste.setAdapter(adapter);
                }catch (Exception ex){
                    Toast.makeText(getApplicationContext(),"Hata",Toast.LENGTH_SHORT).show();
                }
                }

            private void getHandleOnMap()
            {
                SupportMapFragment mapFragment = (SupportMapFragment) this.getSupportFragmentManager()
                        .findFragmentById(R.id.map);
                mapFragment.getMapAsync(this);

            }
            @Override
            public void onMapReady(GoogleMap myMap) {
                Marker marker= myMap.addMarker(new MarkerOptions()
                        .position(PERTH)
                        );
                myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(36.58271, 36.1664039), 12));
                myMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter(){


                    @Override
                    public View getInfoWindow(Marker marker) {
                        View v=getLayoutInflater().inflate(R.layout.infowindows,null);

                        return  v;
                    }

                    @Override
                    public View getInfoContents(Marker marker) {
                        return null;
                    }
                });

            }




            }

0 ответов

Другие вопросы по тегам