Android: getfromLocationName () gibt die Größe 0 in der Adressliste zurück

Ich habe eine Standortdatenbank. Wenn ich versuche, sie in Koordinaten umzuwandeln, damit ich sie auf einer Karte platzieren kann, erhalte ich Fehler. Meine Adressliste vom Typ Adresse hat eine Größe von Null. Ich habe das Thema recherchiert. Alle meine Manifest-Berechtigungen sind korrekt. Mein Telefon ist mit dem Internet verbunden. Ich habe mein Telefon neu gestartet. Ich weiß, dass es ein Google-Problem gibt und die Lösungen nicht helfen. Die Standorte sind korrekt. Bitte helfen Sie.

Hier ist die Fehlermeldung: android.database.CursorIndexOutOfBoundsException: Index 0 angefordert, mit einer Größe von 0

private void setUpMap()  {
    DatabaseHandler db = new DatabaseHandler(this);
    Cursor c  = db.fetchAllAddresses();
    String place = c.getString(c.getColumnIndex("name"));
    Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    List<android.location.Address> addresses = new ArrayList();
    try {
       addresses = geocoder.getFromLocationName(place,1);
    } catch (IOException e) {
        e.printStackTrace();
    }

    android.location.Address add = addresses.get(0);
    double lat = add.getLatitude();
    double lng = add.getLongitude();
    mMap.addMarker(new MarkerOptions().position(new LatLng(lat,lng)).title("Marker"));


    }

BEARBEITE das ist die fetchAllAddresses ()

  public Cursor fetchAllAddresses() {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor mCursor = db.query(TABLE_CONTACTS, new String[]{ "rowid _id", KEY_NAME,},null, null, null,null, null);

    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage