Передать строку в setContentView? - PullRequest
2 голосов
/ 11 мая 2011

Есть ли способ передать строку в setContentView ()? то есть: setContentView (OUTPUT). Причина в том, что у меня есть класс, который я использую для нескольких действий (пользовательский адаптер ListView), и мне нужно использовать другой макет для одного действия, и я не хотел бы иметь дублирующийся класс, где единственным изменением является setContentView (). Я знаю, что XML должен быть скомпилирован в APK, но я думаю, что инфляция макета не должна быть в onCreate ...? Итак, можно ли это сделать с помощью переменной? Или у кого-нибудь есть другая идея / способ сделать это? Thnx.

* Используемый мной класс - ЗДЕСЬ в разделе «ПЕРЕСМОТРЕННЫЙ».

Ответы [ 4 ]

1 голос
/ 11 мая 2011

, когда вы начинаете звонить, делайте это дополнительно. Затем в своей деятельности протестируйте эти дополнения и вызовите соответствующее setcontentview.

1 голос
/ 11 мая 2011

setContentView () принимает целочисленный параметр, относящийся к R.java, поэтому вы не можете передать ему строку.

Источник: http://developer.android.com/reference/android/app/Activity.html

0 голосов
/ 11 мая 2011

Вы должны каким-то образом параметризовать свою деятельность:

  • создайте абстрактный класс действий, который принимает int layoutId в качестве параметра конструктора, расширьте свои действия из этого класса и передайте различные макеты
  • передать идентификатор макета в качестве параметра запуска Intent
  • и т.д.
0 голосов
/ 11 мая 2011

Используйте Resources.getIdentifier () , чтобы получить ресурсы по имени.

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