DrawerLayout с fragment с разными toolbar

409
15 января 2017, 15:42

Мне нужно реализовать такую структуру. Выдвижная панель, кликая по варианту из списка в главную активности заместо FrameLayout загружается фрагмент. На данном этапе у меня проблем не возникло, но самое главное, в каждом фрагменте у меня должен быть свой собственный toolbar, я не про меню действия, его я знаю как менять, я говорю вообще про весь вид toolbar, к примеру где-то должен быть встроен поиск в него, где-то выпадающий список и т д, как в вк

Answer 1

Доброго времени суток. У меня данная возможность реализована в самой активити, в которую помещаются фрагменты.

SomeFragment.java (Это класс фрагмента)

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                         Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    rootView =
            inflater.inflate(R.layout.auth_fragment, container, false);
    IMainActivity iMainActivity = (MainActivity) getActivity();
    iMainActivity.changeToolbarTitle(R.string.title_activity_auth);

Я получаю активити из фрагмента и вызываю в нем метод, изменяющий тулбар по моему желанию.

(У меня файл .xml разметки активити включает (< include />) файл другой разметки, который, в свою очередь, включает в себя тулбар. Таким образом, активити может напрямую изменять тулбар

MainActivity.java

public void onCreate(){
// smth before
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
//smth after
}
// some methods, etc...
public void changeToolbarTitle(int resId) {
    toolbar.setTitle(resId);
}
READ ALSO
Получить массив из отдельного класса

Получить массив из отдельного класса

Нужно передать массив List из отдельного класса на IntentService, который позволяет в фоновом режиме проверять на наличие новых фотографий в сервере

292
Custom Fitler android

Custom Fitler android

Мне необходимо отфильтровать данные в зависимости от вводимых значений в EditTextНиже код фильтра который уже написан но работает он не совсем...

290