0
我有一些代碼在地圖上進行搜索(至少應該這樣,但是應用程序在您點擊按鈕時會崩潰)。這是一個Android應用程序。按鈕無法找到onMapSearch功能
的按鈕和搜索欄的XML是在這裏:
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="4"
android:hint="Search Location Here" />
<Button
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:onClick="onMapSearch"
android:text="Search" />
然後爲按鈕功能的功能是在這裏:
public void onMapSearch(View view) {
EditText locationSearch = (EditText) findViewById(R.id.editText);
String location = locationSearch.getText().toString();
Geocoder geocoder = new Geocoder(this);
List<android.location.Address> addressList = null;
try {
addressList = geocoder.getFromLocationName(location, 1);
} catch (IOException e) {
e.printStackTrace();
}
android.location.Address address = addressList.get(0);
LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude());
mMap.addMarker(new MarkerOptions().position(latLng).title("Marker"));
mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
}
logcat中說,該按鈕未能找到函數onMapSearch,有什麼建議,爲什麼? logcat的位置:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: pkc.trafficquest.sccapstone.trafficquest, PID: 3488
java.lang.IllegalStateException: Could not find method MapsActivity.onMapSearch(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'search_button'
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/pkc.trafficquest.sccapstone.trafficquest-1/base.apk"],nativeLibraryDirectories=[/data/app/pkc.trafficquest.sccapstone.trafficquest-1/lib/x86, /system/lib, /vendor/lib]]
請張貼您的Logcat。還發布您的代碼爲您的按鈕的'onClickListener'。謝謝 –
它在片段中聲明嗎? – nikis
請勿使用XML點擊方法。只需在Java中完成。 –