2016-03-28 3 views
0

поэтому я пытаюсь создать приложение, которое ищет места, где можно поесть рядом с моим местоположением. У меня есть несколько кнопок, которые я хочу использовать в качестве условий поиска для Карты Гугл.Использование содержимого кнопки android в качестве поискового запроса Google Maps

Однако я понятия не имею, как называть текст с помощью кнопки в качестве условия поиска.

Это код, я использую для инициализации Google Maps

@Override 
public void onMapReady(GoogleMap googleMap) { 
    //mMap = googleMap; 

    // Search for restaurants nearby 
    Uri gmmIntentUri = Uri.parse("geo:0,0?q=ButtonText"); 
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); 
    mapIntent.setPackage("com.google.android.apps.maps"); 
    startActivity(mapIntent); 
} 

Где ButtonText, где я хотел бы, чтобы кнопки текст идти.

любая помощь/советы с этим были бы очень признательны!

ответ

1

Поскольку класс Button расширяет класс TextView, вы можете получить текст кнопки, просто вызвав getText() на объект кнопки.

Button b = //your button 
String buttonText = b.getText().toString(); 

После этого формируют ваш Uri

Uri gmmIntentUri = Uri.parse("geo:0,0?q=" + buttonText); 

UPDATE
Чтобы сделать поиск, когда нажата кнопка - создать OnClickListener

OnClickListener listener = new OnClickListener({ 
    @Override 
    public void onClick(View v) { 
     Button b = (Button) v; 
     String buttonText = b.getText().toString(); 
     Uri gmmIntentUri = Uri.parse("geo:0,0?q=" + buttonText); 
     ... 
    } 
}); 

и установить его на каждом

button.setOnClickListener(listener); 
+0

ok, что касается реализации этого для 6 или более разных кнопок, мне нужно будет выполнить это 6 раз раз для каждой кнопки или я могу использовать одну функцию для всех кнопок? – bdg

+0

просто создайте OnClickListener и добавьте его к каждой кнопке, затем используйте представление кнопки, переданное в onClick, чтобы получить текст и выполнить поиск. –

+0

Отлично, это сработало отлично, спасибо за объяснение! – bdg

Смежные вопросы