Я хочу передать искомую строку другому действию в SearchView.Эта строка, но в соответствии с этой строкой выполняется поиск карты, и я хочу, чтобы она отправлялась при нажатии кнопки после отображения результата на карте
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_note);
searchView = (SearchView) findViewById(R.id.sviewCriticalNext);
supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map1);
btnCritical = (Button) findViewById(R.id.btnCriticalNext);
btnZoom = (ImageButton) findViewById(R.id.btnZoom);
btnZOut = (ImageButton) findViewById(R.id.btnZoomOut);
}
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
String location = searchView.getQuery().toString();
getSearchedString(s);
List<Address> addressList = null;
if (location != null || !location.equals("")) {
Geocoder geocoder = new Geocoder(AddNoteActivity.this);
try {
addressList = geocoder.getFromLocationName(location, 1);
} catch (IOException e) {
e.printStackTrace();
}
Address address = addressList.get(0);
LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude());
gMap.addMarker(new MarkerOptions().position(latLng).title(location));
gMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10));
}
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
supportMapFragment.getMapAsync(AddNoteActivity.this);
}
Стилизованная карта, она содержит кнопки увеличения / уменьшения
@Override
public void onMapReady(GoogleMap googleMap) {
gMap=googleMap;
gMap.setBuildingsEnabled(true);
boolean success = googleMap.setMapStyle(new MapStyleOptions(getResources().getString(R.string.style_json)));
if (!success) {
Log.e(TAG, "Style parsing failed.");
}
btnZoom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
gMap.animateCamera(CameraUpdateFactory.zoomIn());
}
});
btnZOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
gMap.animateCamera(CameraUpdateFactory.zoomOut());
}
});
}
Поиск строки, я хочу передать ее
public String getSearchedString(String string){
Toast.makeText(AddNoteActivity.this, "Result: "+string, Toast.LENGTH_LONG).show();
passToActivity(string);
return string;
}
Передача строки при клике, ноне работает
private void passToActivity(String string) {
btnCritical.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(AddNoteActivity.this, EndOfAddNoteActivity.class);
intent.putExtra("LOCATION",string);
startActivity(intent);
}
});
}