2016-08-10 6 views
0

if (location != null || !location.equals(""))の「常に真」の結果を得て、「sldjfuhsdhfj」のようなものを検索するとアプリケーションが終了しますが、「セントラルパーク」のようなものを入力すると正しく動作します。 私は何が間違っていますか? コード私はそれが何の結果が返されませんので、あなたはそれをジャンクを与えたgeocoder.getFromLocationNameエラー

public void onMapSearch(View view) { 
    EditText locationSearch = (EditText) findViewById(R.id.editText1); 
    String location = locationSearch.getText().toString(); 
    List<Address> addressList = null; 

    if (location != null || !location.equals("")) { 
     Geocoder geocoder = new Geocoder(this); 
     try { 
      addressList = geocoder.getFromLocationName(location, 1); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     Address address = addressList.get(0); 
     LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude()); 
     mMap.addMarker(new MarkerOptions().position(latLng).title("Marker")); 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 16)); 
     final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       // Do something after 3s 
       mMap.clear(); 
      } 
     }, 3000); 
    } 
} 

答えて

0

アドレスアドレス= addressList.get(0)

を使用しています。 addressListは空です。あなたは空の何かの0要素にアクセスしています。この正確な行/問題を指摘したAndroid StudioのAndroidモニターウィンドウにメッセージが表示されているはずです。

関連する問題