Android: ImageView getID (); Возвращаемое целое число
Я установил класс onTouch, чтобы определить, когда нажата одна из моих 40 кнопок.
Проблема, с которой я сталкиваюсь, – это определить, какая кнопка была нажата.
Если я использую:
Когда я нажимаю кнопку «widgetA1»,
Я получаю следующий ID:
Я бы хотел, чтобы он возвращал идентификатор строки «widgetA1»
Я другой мудрый прекрасно работает, он знает, какую кнопку вы нажимаете. Я совершенно новый для этого Android JAVA. Дайте мне знать, если вы, ребята, можете мне помочь.
Вы не можете получить эту строку widgetA1 … Вы всегда получите целое число. Но это целое уникально для этого элемента управления.
Поэтому вы можете сделать это, чтобы проверить, какая кнопка нажата
Изменить – TL; DR:
Я знаю, что прошло некоторое время с тех пор, как вы отправили сообщение, но я столкнулся с подобной проблемой, и я думаю, что нашел решение, посмотрев исходный код Android для класса View .
Я заметил, что когда вы печатаете представление (неявно вызывающий toString ()), напечатанные данные включают строку ID, используемую в файлах макета (тот, который вы хотите), вместо целого, возвращаемого getId (). Поэтому я посмотрел исходный код для представления toString (), чтобы увидеть, как Android получает эту информацию, и на самом деле это не слишком сложно. Попробуй это:
В исходном коде Android также использует getResourcePackageName(id) и getResourceTypeName(id) для создания полной строки:
Это приводит к чему-то влиянию android:id/widgetA1 .
Надеюсь, это поможет!
Конечно, вы можете получить widgetA1 , просто выполните:
Он должен предоставить вам your.package.name:id/widgetA1 , а затем сделать то, что вы хотите, с этой строкой.
Мы получим значение Integer, соответствующее идентификатору views. Для определения того, на какую кнопку вы нажимаете, лучше использовать теги. Вы можете установить тег в XML-файл макета и можете сравнить, какой элемент вы нажали с помощью.
Это пример использования.
Я думаю, что вы можете использовать эту попытку
Для реализации вы можете использовать атрибут подсказки для хранения имени кнопки, которое доступно. Например, в коде кнопки (.xml-файл) используйте следующую строку:
Затем в функции onClicked (.java-файл) напишите следующее, чтобы получить подсказку:
Источник