title: getFromLocationName().size() returns always 0 - Android
body: <p>In my application I have an activity in which you can pin in map a location based on the address you type in edittext or you can just move the pin that it appears in the onMapReady function.</p>
  
  <hr>
  
  <p>My activity's layout has the fragment that shows the map, a button to return information about position of the pin in the previous activity and an edit text that after typing an address and press button, the previous pin that was on the map is being removed and a new one appears with the location you typed (if it exists).</p>
  
  <hr>
  
  <p>-- This is my <code>onMapReady</code> function that has a listener in the search button and initialize the pin and the functions that takes pin location after you drag it:</p>
  
  <pre><code> @Override
      public void onMapReady(final GoogleMap map) {
          map.setMyLocationEnabled(true);
          map.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 13));
          CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
          map.animateCamera(zoom);
  
          map.addMarker(new MarkerOptions()
                  .title("Shop")
                  .snippet("Is this the right location?")
                  .position(position))
                  .setDraggable(true);
  
          // map.setInfoWindowAdapter(new PopupAdapter(getLayoutInflater()));
          map.setOnInfoWindowClickListener(this);
          map.setOnMarkerDragListener(this);
  
          ImageButton search = (ImageButton) findViewById(R.id.search);
  
          final EditText searchaddress = (EditText) findViewById(R.id.locationsearch);
  
          final int[] numAttempts = {0};
  
          search.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  //FIND LOCATION BY ADDRESS
                  Geocoder geoCoder = new Geocoder(MapsActivity.this.getApplicationContext(), Locale.getDefault());
  //                try {
                  if (searchaddress.getText().toString() != null &amp;&amp; !searchaddress.getText().toString().isEmpty()) {
                      try {
                          List&lt;Address&gt; geoResults = geoCoder.getFromLocationName(searchaddress.getText().toString(), 1);
  
                          if (geoResults != null) {
  
                            //  do {
                            //      geoResults = geoCoder.getFromLocationName(searchaddress.getText().toString(), 1);
  
                              //    numAttempts[0] = numAttempts[0] + 1;
                           //   }
                           //   while (geoResults.size() == 0 || numAttempts[0] == 5);
  
                              if (geoResults.size() &gt; 0) {
                                  Address addr = geoResults.get(0);
  
                                  if (!addr.toString().isEmpty()) {
                                      double latitude = addr.getLatitude();
                                      double longitude = addr.getLongitude();
  
                                      position = new LatLng(latitude, longitude);
  
                                      map.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 13));
                                      CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
                                      map.animateCamera(zoom);
  
                                      //Marker marker = null;
                                      map.clear();
                                      //marker.setPosition(position);
                                      map.addMarker(new MarkerOptions()
                                              .title("Shop")
                                              .snippet("Is this the right location?")
                                              .position(position))
                                              .setDraggable(true);
  
                                      // map.setInfoWindowAdapter(new PopupAdapter(getLayoutInflater()));
                                      map.setOnInfoWindowClickListener(MapsActivity.this);
                                      map.setOnMarkerDragListener(MapsActivity.this);
                                  } else {
                                      Toast.makeText(getApplicationContext(), "Addr is empty!", Toast.LENGTH_LONG).show();
                                  }
                              } else {
                                  Toast.makeText(getApplicationContext(), "Wrong address. Please try another one! :" + geoResults.size() + "!", Toast.LENGTH_LONG).show();
                              }
                          }
                          else {
                              Toast.makeText(getApplicationContext(), "Null address!", Toast.LENGTH_LONG).show();
                          }
                      }catch(Exception e) {
                          Log.e("GEOCODER", e.getMessage(), e);
                      }
      } else {
                          Toast.makeText(getApplicationContext(), "Please enter an address!", Toast.LENGTH_LONG).show();
                      }
                  }
              });
          }
  
          @Override
          public void onInfoWindowClick(Marker marker) {
              //Toast.makeText(this, marker.getTitle(), Toast.LENGTH_LONG).show();
          }
  
          @Override
          public void onMarkerDragStart(Marker marker) {
              LatLng position0 = marker.getPosition();
  
              Log.d(getClass().getSimpleName(), String.format("Drag from %f:%f",
                      position0.latitude,
                      position0.longitude));
          }
  
          @Override
          public void onMarkerDrag(Marker marker) {
              LatLng position0 = marker.getPosition();
  
              Log.d(getClass().getSimpleName(),
                      String.format("Dragging to %f:%f", position0.latitude,
                              position0.longitude));
  
          }
  
          @Override
          public void onMarkerDragEnd(Marker marker) {
              position = marker.getPosition();
  
              Log.d(getClass().getSimpleName(), String.format("Dragged to %f:%f",
                      position.latitude,
                      position.longitude));
          }
  </code></pre>
  
  <hr>
  
  <p>Till a few days ago, I could display a pin from the location that the user typed in the edit text with exact the above code. Now, for unknown reason, I can't do this anymore with the exact same code. </p>
  
  <p><strong>Always it appears the <code>toast</code> about 'Wrong Address. Please try another one!' even though the address I type in edit text exists, the size of the <code>geoResults</code> is always 0 and no exception is occured in Logcat</strong></p>
  
  <hr>
  
  <hr>
  
  <p>-- When I remove from comments the do-while part, the exceptioms in logcat are the below:</p>
  
  <pre><code>02-24 13:13:53.251  28017-28024/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Jit: resizing JitTable from 4096 to 8192
  02-24 13:14:57.465  28017-28020/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ threadid=3: reacting to signal 3
  02-24 13:14:57.765  28017-28020/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
  02-24 13:15:02.701  28017-28017/guide_me_for_all.guide_me_for_all A/libc﹕ Fatal signal 6 (SIGABRT) at 0x000008d2 (code=0), thread 28017 (uide_me_for_all)
  02-24 13:15:06.605  28881-28881/guide_me_for_all.guide_me_for_all D/ActivityThread﹕ handleBindApplication:guide_me_for_all.guide_me_for_all
  02-24 13:15:06.605  28881-28881/guide_me_for_all.guide_me_for_all D/ActivityThread﹕ setTargetHeapUtilization:0.75
  02-24 13:15:06.605  28881-28881/guide_me_for_all.guide_me_for_all D/ActivityThread﹕ setTargetHeapMinFree:524288
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all W/dalvikvm﹕ VFY: unable to resolve virtual method 11956: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all W/dalvikvm﹕ VFY: unable to resolve virtual method 11962: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
  02-24 13:15:07.296  28881-28881/guide_me_for_all.guide_me_for_all D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
  02-24 13:15:07.306  28881-28881/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
  02-24 13:15:07.306  28881-28881/guide_me_for_all.guide_me_for_all W/dalvikvm﹕ VFY: unable to resolve virtual method 9598: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
  02-24 13:15:07.306  28881-28881/guide_me_for_all.guide_me_for_all D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
  02-24 13:15:07.316  28881-28881/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
  02-24 13:15:07.316  28881-28881/guide_me_for_all.guide_me_for_all W/dalvikvm﹕ VFY: unable to resolve virtual method 570: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
  02-24 13:15:07.316  28881-28881/guide_me_for_all.guide_me_for_all D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
  02-24 13:15:07.326  28881-28881/guide_me_for_all.guide_me_for_all I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
  02-24 13:15:07.326  28881-28881/guide_me_for_all.guide_me_for_all W/dalvikvm﹕ VFY: unable to resolve virtual method 592: Landroid/content/res/TypedArray;.getType (I)I
  02-24 13:15:07.326  28881-28881/guide_me_for_all.guide_me_for_all D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
  02-24 13:15:07.536  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:07.546  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:07.556  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.147  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.147  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.147  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.157  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.167  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.167  28881-28881/guide_me_for_all.guide_me_for_all E/Spinner﹕ setPopupBackgroundDrawable: incompatible spinner mode; ignoring...
  02-24 13:15:08.577  28881-28881/guide_me_for_all.guide_me_for_all D/libEGL﹕ loaded /system/lib/egl/libEGL_mali.so
  02-24 13:15:08.587  28881-28881/guide_me_for_all.guide_me_for_all D/libEGL﹕ loaded /system/lib/egl/libGLESv1_CM_mali.so
  02-24 13:15:08.597  28881-28881/guide_me_for_all.guide_me_for_all D/libEGL﹕ loaded /system/lib/egl/libGLESv2_mali.so
  02-24 13:15:08.627  28881-28881/guide_me_for_all.guide_me_for_all D/OpenGLRenderer﹕ Enabling debug mode 0
  02-24 13:15:08.647  28881-28881/guide_me_for_all.guide_me_for_all I/Choreographer﹕ Skipped 59 frames!  The application may be doing too much work on its main thread.
  02-24 13:15:09.598  28881-28881/guide_me_for_all.guide_me_for_all I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@41f5b4e8 time:26642276
  </code></pre>
  
  <p>In this line: </p>
  
  <blockquote>
    <p>12386-12386/guide_me_for_all.guide_me_for_all A/libc﹕ Fatal signal 6
    (SIGABRT) at 0x000008d2 (code=0), thread 12386 (uide_me_for_all) , </p>
  </blockquote>
  
  <p>I don't know what this thing in the parenthesis is but my package name is <strong>g</strong>uide_me_for_all not uide_me_for_all. (in case it has something to do with this)</p>
  
  <hr>
  
  <p>If someone could help me find what does all the above mean, I would be really grateful.</p>
  
  <hr>
  
  <p>Update after correcting the above code:
  Code to return position from the class to the previous activity (UNSOLVED - Always getting NULL Value):</p>
  
  <p>In the class:</p>
  
  <pre><code>@Override
      protected void onPostExecute(LatLng result) {
          Log.i("GEOCODE", result.toString());
  
          Intent i = new Intent(this.mainContxt , MapsActivity.class );
          i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  
          i.putExtra( "latlng" , result );
  
          this.mainContxt.startActivity(i);
  
          super.onPostExecute(result);
      }
  </code></pre>
  
  <p>In onCreate of the MapsActivity, I have this:</p>
  
  <pre><code> if (getIntent() != null) {
                  Intent intent = getIntent();null){
                      position_from_address = intent.getStringExtra("latlng");
  }
  </code></pre>
  
  <p>And after that in the onClickListener of search button of my activity, I am getting the position like this:</p>
  
  <pre><code>if (position_from_address != null){
                          String[] latlong = position_from_address.split(",");
                          double latitude = Double.parseDouble(latlong[0]);
                          double longitude = Double.parseDouble(latlong[1]);
  
                          position = new LatLng(latitude, longitude);
  </code></pre>