вы говорите, что вы добавляете слушателей к кнопкам в вашем коде с помощью findViewById, поэтому я предполагаю, что у вас есть требования, которые означают, что вы не можете создать свой макет в xml. поэтому, когда вы настраиваете свое первое действие, которое содержит все эти кнопки, убедитесь, что все они получают один и тот же прослушиватель кликов. мы можем назвать этот метод слушателя mapsButtonListener
. он должен быть объявлен как это:
public void mapsButtonListener(View sender) {
int id = sender.getId();
Intent mapsActivity = new Intent(getApplicationContext(), MapsActivity.class);
mapsActivity.putExtra("button_id", id);
startActivity(mapsActivity);
}
о ид нашего баттона: s
, если Вы помещаете ваши кнопки с дизайном XML, то просто убедитесь, что они имеют идентификатор: ■ объявлен в XML , однако, если вы используете , а не, используя вместо них xml, но вместо этого создавая их в коде, вам нужно будет использовать метод setId(4)
, чтобы дать вашим кнопкам id: s (не дать все из них 4, очевидно, хе-хе). это должно быть сделано одновременно с добавлением прослушивателя кликов. также убедитесь, что знаете, какая кнопка получает номер, чтобы вы могли это проверить позже.
получает идентификатор в MapsActivity
сразу начинает mapsActiviy, мы хотим, что идентификатор. мы делаем это со следующей строкой (внутри класса MapsActivity):
int id = getIntent().getIntExtra("button_id");
Вы используете findViewById (...), чтобы получить кнопку вправо? Параметр, который вы передаете этой функции, - это идентификатор кнопки, не так ли? – kosa
Я использую findViewById (..), чтобы получить кнопку и настроить ее onClickListener, где я создаю намерение. – kmb64
Используете ли вы тот же прослушиватель для нескольких кнопок? Если нет, вы можете жестко закодировать? – kosa