pan*_*Dev 3 java autocomplete widget android-fragments
我正在开发我的项目来创建一个带有导航抽屉的活动(扩展AppCompatActivity),用于在多个Fragment之间切换,其中一个是MapFragment(使用MapView实现扩展Fragment).我想在MapFragment类中调用Google提供的AutoComplete Widget.
这是我在MapFragment类中的代码
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS)
.build();
autocompleteFragment.setFilter(typeFilter);
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
String placeDetailsStr = place.getName() + "\n"
+ place.getId() + "\n"
+ place.getLatLng().toString() + "\n"
+ place.getAddress() + "\n"
+ place.getAttributions();
Log.i("OnPlaceSelected", placeDetailsStr);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(place.getLatLng(), 15));
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i("OnPlaceSelected", "An error occurred: " + status);
}
});
Run Code Online (Sandbox Code Playgroud)
语法错误是在
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
说
不可转换型; 无法将'android.support.v4.app.Fragment'投射到'com.google.android.gms.location.places.ui.PlaceAutocompleteFragment'
但是当我将这组代码放在MainActivity中时,它的工作正常.所以我想知道是否有任何方法可以在Fragment中调用AutoComplete Widget它是不可能的.
任何答案将不胜感激.:)
小智 7
使用getActivity()
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getActivity().getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3956 次 |
| 最近记录: |