Как получить оригинальный идентификатор ресурса кнопки? - PullRequest
0 голосов
/ 24 июня 2011

В моем макете XML-файла у меня есть несколько подобных кнопок, которые используют один и тот же обработчик событий:

<Button android:id="@+id/page1" onClick="OnClick" .... ></Button>

В своей деятельности мне хотелось бы что-то вроде этого кода:

public void onClick(View v) {
  String url = String.format("http://example.com/%d", v.getId());
}

динамически построить URL.Однако getId () возвращает целое число, представляющее идентификатор кнопки, а не слово «page1».

Конечно, я мог бы использовать оператор switch, но было бы гораздо удобнее, если бы я мог ссылаться на исходный идентификаторимя, присвоенное кнопке.

Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 24 июня 2011

Использование getResources().getResourceName()

2 голосов
/ 24 июня 2011

Отражение или, установите атрибут android: tag, а затем используйте .getTag (), проще из кода, но немного избыточно в .xml.

0 голосов
/ 24 июня 2011

Вы можете использовать отражения в сгенерированном классе R.id. Или лучше создать собственный класс с полем, содержащим значение, которое вы хотите знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...