Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/64: Рейтинг темы: голосов - 64, средняя оценка - 4.81
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92

Создание ToolBar в Fragment

16.03.2016, 00:31. Показов 12257. Ответов 8

Студворк — интернет-сервис помощи студентам
Создаю активити на нем фрагмент, а в фрагменте должен быть ToolBar! Но его нет! Делаю так

Активити:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class MainGridActivity extends AppCompatActivity {
 
    private MainGridFragment mainGridFragment;
    private FragmentManager fragmentManager;
    private FragmentTransaction fragmentTransaction;
 
    private final String MAIN_DRID_FRAGMENT_TAG = "MAIN_DRID_FRAGMENT_TAG";
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        onInflateActivity();
 
 
 
    }
 
 
 
    private void onInflateActivity(){
        fragmentManager = getSupportFragmentManager();
        mainGridFragment = (MainGridFragment) fragmentManager.findFragmentByTag(MAIN_DRID_FRAGMENT_TAG);
        if(mainGridFragment == null){
            mainGridFragment = new MainGridFragment();
            fragmentManager.beginTransaction()
                    .add(R.id.main_grid_conteiner, mainGridFragment, MAIN_DRID_FRAGMENT_TAG)
                    .commit();
 
        }
    }
}

его леяут:



XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
 
    <include layout="@layout/main_tool_bar" />
 
 
</LinearLayout>

Фрагмент:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class MainGridFragment extends Fragment{
 
    private AppCompatActivity appCompatActivity;
 
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.main_grid_list, null);
    setToolBar();
   return v;
}
 
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.main_grid_menu, menu);
    super.onCreateOptionsMenu(menu, inflater);
}
 
 
public Toolbar generateToolBar(){
    LayoutInflater layoutInflater = getActivity().getLayoutInflater();
    View v = layoutInflater.inflate(R.layout.main_tool_bar, null);
 
    return (Toolbar)v;
}
 
private void setToolBar(){
    appCompatActivity = (AppCompatActivity) getActivity();
    appCompatActivity.setSupportActionBar(generateToolBar());
 
    setHasOptionsMenu(true);
}
}

XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
 
    <include layout="@layout/main_tool_bar" />
 
 
</LinearLayout>

Сам ToolBar:

XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_tool_bar"
    style="@style/main_tool_bar"
    >
</android.support.v7.widget.Toolbar>
высоту/ширену задаю в стилях !

Вроде все так! Может что-то пропустил? Подскажите в чем ошибка моя !! Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.03.2016, 00:31
Ответы с готовыми решениями:

Обновление fragment из другого fragment
Добрый вечер всем!! Подскажите пожалуйста как обновить один фрагмент из другого (а именно TextView и ArrayAdapter)?

Создание Toolbar' а
Необходимо создать Toolbar с 3-я кнопками, по нажатию которых будут вызваны диалоги: a) открытие текстового файла в поле редактирования...

Создание Toolbar
Привет! Столкнулся с проблемой, нужно сделать Toolbar ( как VS Windows Form или QT creator), точнее не сам bar, а его имитацию, где...

8
 Аватар для OlegJV
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
16.03.2016, 01:09
Вообще-то toolbar создается не в фрагменте, а в активити
0
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
16.03.2016, 01:11  [ТС]
OlegJV, он может создаваться и в активти и в фрагменте !
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
16.03.2016, 11:10
поместить тулбар во фрагмент можно, но это не кошерно и глупо
в идеале есть активити в которой тулбар и под тулбаром какой-то лаяут
и этот лаяут используется как контейнер для фрагментов

если нужно делать свое меню для каждого фрагмента то можно почитать тут
0
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
16.03.2016, 12:57  [ТС]
Паблито, И если при открытии другого фрагмента менять вид ToolBar так лучше будет, чем каждый раз создавать новый ToolBar для каждого фрагмента ?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
16.03.2016, 13:00
что значит менять вид?
0
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
16.03.2016, 13:02  [ТС]
Паблито, ну на пример: у меня на одном активити меняется 3 фрагмента и в одном с трех, на ToolBar должна появится новая кнопка, которой при других фрагментах нет!
0
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
16.03.2016, 13:07
prokopov, button.setVisible(true);
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
16.03.2016, 13:12
Лучший ответ Сообщение было отмечено prokopov как решение

Решение

если кнопка имеется ввиду новый пункт меню - то читай ссылку которую я дал, внимательно читай
если надо что-то втулить не в меню, а именно в разметку тулбара то ничего не мешает в любом фрагменте писать так
Java
1
ActionBar toolbar = ((AppCompatActivity) getActivity()).getSupportActionBar();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2016, 13:12
Помогаю со студенческими работами здесь

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

Создание ToolBar: CreateToolbarEx()
Здравствуйте! Не получается создать ToolBar. На мой взгляд все правильно, но вылазит ошибка код

Создание кнопок на ToolBar-е
Создаю Win32 Application, в оконной процедуре главного окна пишу (WM_CREATE): DWORD dwStyle; //стиль тулбара TBADDBITMAP tb;...

Создание toolbar для ie 6+ на C#
Необходимо создать с 0 toolbar для ie 6++ на c#. Был бы благодарен за любую информацию, литературу (особенно на русском языке) и советы по...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru