我使用此代码来获取地址。
我想使用像EditText这样的简单元素作为Field而没有片段。意思是,如果我点击EditText,应该调用自动完成弹出窗口,如下面的
我需要2个字段(field1地址为home,field2为地址办公室为例)
我应该在哪里更改代码?
txt_lat = (TextView) findViewById(R.id.txt_lat);
txt_lon = (TextView) findViewById(R.id.txt_lon);
editText = (EditText) findViewById(R.id.editText1);
progressBar = (ProgressBar) findViewById(R.id.progressBar_anno_add_adress);
mGoogleApiClient = new GoogleApiClient
.Builder(this)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.enableAutoManage(this, this)
.build();
final PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment )
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
progressBar.setVisibility(View.VISIBLE);
Log.i("TAG", "Place: " + place.getName());
LatLng latLng = place.getLatLng();
txt_lat.setText(String.valueOf(latLng.latitude));
txt_lon.setText(String.valueOf(latLng.longitude));
editText.setText(place.getName());
progressBar.setVisibility(View.GONE);
loc_lat=String.valueOf(latLng.latitude);
loc_lon=String.valueOf(latLng.longitude);
loc_adress=place.getName().toString();
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i("TAG", "An error occurred: " + status);
}
});
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
我可能只需要自动完成的搜索图标(我不需要Textfield,因为我想使用我的EditTexts。