2016-01-13 2 views
1

Я разрабатываю приложение, которое имеет ту же самую панель действий для всех Activities. Единственное, что меняется, - это меню, которое можно легко построить динамически.Как бороться с кодом Android ActionBar на всем протяжении кода?

На данный момент у меня есть файл xml для каждой панели инструментов каждого Activity, но есть много повторений кода. Как мне с этим бороться?

Я думал о создании единственного файла xml и его включения в макет Activities. Тем не менее, есть много вещей, которые сделаны программно, например, определение кнопки, названия и меню. Эти методы расположены в Деятельности onCreate. Как это делается для повторного использования этого кода?

+1

Переместите всех сотрудников с помощью панели инструментов в базовый класс, например BaseActivity и наследуйте все действия от него. – gio

+0

@gio Да, но как я собираюсь настроить toobar для каждого случая? Я имею в виду, не должен ли я 'setContentView' перед тем, как ссылаться на представления и устанавливать/получать из них информацию? – RafaelC

+0

уверен, вы можете это сделать по методу onPostCreate – gio

ответ

2

Я не уверен Если я правильно вас понимаю, но, возможно, создаю класс, который продолжается после Activity (или если вы используете AppCompatActivity и т. Д.), Например, class MyCustomActivity extends AppCompatActivity реализуйте там свою панель действий, а затем в каждом новом классе деятельности, где вам нужен этот ActionBar просто расширьте MyCustomActivity. В этом классе вы можете использовать некоторый публичный метод для установки меню в подклассах и т. Д.

+0

Да, но как я буду настраивать toobar для каждого случая? Я имею в виду, не должен ли я 'setContentView' перед тем, как ссылаться на представления и устанавливать/получать из них информацию? – RafaelC

+0

Как сказал gio, вы можете настроить его, переопределив onPostCreate – Arthez

Смежные вопросы