Hallo Ich habe eine Uhr-Methode innerhalb meiner Anwendung gemacht, die nach einer Adresse sucht, abhängig davon, was der Benutzer in den Bearbeitungstext eingegeben hat. Das funktioniert einwandfrei, stürzt aber ab, wenn ich den Suchknopf drücke, wenn der Text leer ist. Könnte irgendwas ausmachen was ich falsch machen könnte und wie ich die Situation eventuell lösen könnte.Google Maps-Adresssuche stürzt ab, wenn der Bearbeitungstext leer ist
public void onSearch(View view) {
EditText findLocation = (EditText) findViewById(R.id.editText);
String location = findLocation.getText().toString();
List<Address> addressList = null;
if (location != null || !location.equals("")) {
//Geocode gecoder = new Geocoder(this)
//geocoder.getFromLocationName(location, 1);
//then add try and catch
Geocoder geocoder = new Geocoder(this);
try {
addressList = geocoder.getFromLocationName(location, 1);
//after try and catch
// List<Address> 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(location.toString()));
mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
}
Stapelüberwachung
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.view.View$DeclaredOnClickListener.onClick(View.java:4452)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.view.View$DeclaredOnClickListener.onClick(View.java:4447)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.example.hadleigh.googlemapstest.MapsActivity.onSearch(MapsActivity.java:91)
at java.lang.reflect.Method.invoke(Native Method)
at android.view.View$DeclaredOnClickListener.onClick(View.java:4447)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
Bitte Stack-Trace aus dem Absturz von logcat hinzufügen. –
Ich habe meine Frage bearbeitet – Hadleigh