Android и получение представления с литой идентификатором в виде строки

В Java-коде проекта Android, если вы хотите ссылку для ресурса представления, вы можете сделать что-то вроде:

View addButton = findViewById(R.id.button_0); 

В приведенном выше R.id.button_0 не является String. Можно ли динамически ссылаться на ресурс на строку, например « R.id.button_0 »?

Я хотел бы ссылаться на кнопку « R.id.button_%i », где %i заменяется некоторым допустимым индексом.

 int resID = getResources().getIdentifier("button_%i", "id", getPackageName()); View addButton = findViewById(resID); 

где %i заменяется некоторым допустимым индексом.

Метод getResources() относится к classу Context , поэтому вы можете использовать его непосредственно из Activity . Если вы не находитесь в myCtxt.getResources() , используйте контекст для доступа: ( myCtxt.getResources() ).

Вы можете попробовать поместить все идентификаторы, которые хотите в массив, а затем использовать этот массив, чтобы динамически ссылаться на ваши ресурсы.

  • Как добавить параметры в HTTP GET-запрос в Android?
  • Не удалось открыть Android 6.0: EACCES (Permission denied)
  • Как я могу избежать задержек сбора мусора в Java-играх? (Лучшие практики)
  • Сравнение значений Integer в Java, странное поведение
  • Странное поведение java с приведениями к примитивным типам
  • Android HttpPost: как получить результат
  • Можно использовать два classа Java с одинаковым именем и одним пакетом?
  • Получение JSONObject из JSONArray
  • Openssl не распознается как внутренняя или внешняя команда
  • Как ограничить пропускную способность в Java?
  • Pixel-Perfect Collision Detection Android
  • Давайте будем гением компьютера.