Форум программистов, компьютерный форум CyberForum.ru

DrawerLayout, include и fragment - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Считывание GPS координат (долготы и широты) и запись в файл http://www.cyberforum.ru/android-dev/thread1618513.html
Добрый день, у меня возникли трудности с считыванием координат с GPS датчика и через Network и записи всего этого в файл по тику таймера. Могли бы помочь с кодом, потому что уже несколько дней пытаюсь это сделать(сроки сдачи курсовой поджимают), а при запуске приложения выдает ошибку. Вот метод считывания файла по тику таймера: void writeFile() { if (!myF.exists()) { ...
Программирование Android ImageView на весь экран Добрый день. Подскажите, как мне растянуть ImageView на весь экран так, чтобы по краям не было полосок (видно на скриншоте). Сразу скажу, что мой активити находится в полноэкранном режиме (ниже код). Форма: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" ... http://www.cyberforum.ru/android-dev/thread1618346.html
Программирование Android Поиск Bluetooth устройств, отказывается искать
Доброго времени суток. Пишу синезубое приложение на анроид, соединение по MSC адресу работает без проблем. А вот поиск работать отказывается напрочь. Нарыл в сети пример: public void discoverDevices(View view) { discoveredDevices.clear(); listAdapter.notifyDataSetChanged(); if (discoverDevicesReceiver == null) { discoverDevicesReceiver = new...
Программирование Android Диалог выбора файла в Android
Здравствуйте! Мне понадобилось реализовать диалог выбора файла для последующей загрузки в videoview. Нашел пример в инете, который формирует список файлов, позволяет заходить в папки, выбирать файл итп. При отладке на эмуляторе скопировал нужный видеофайл в sdcard, он нормально открывался и все было ok. При запуске на планшете мне выдается список папок и файлов, который приведен в...
Программирование Android Fragment и ListView http://www.cyberforum.ru/android-dev/thread1618215.html
Задача необходимо сделать 2 фрагмента в 1-находится Listview в нем кнопки подгружаемые из файла, во 2 фрагменте описание как сделать так чтобы по нажатию на кнопки в listview работал выводил второй фрагмент информацию Т.е нажали на елемент списка снизу 2 фрагмент отобразил инфу можно ли такое вообще дайте пример сайт ссылку видео что нибудь:wall:
Программирование Android HttpURLConnection запрос Делаю запрос на сервер public class AsyncTaskc extends AsyncTask<Void, String, String> { private String urls; public AsyncTaskc(String url) { urls = url; } подробнее

Показать сообщение отдельно
Анд_Рей
4 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 157

DrawerLayout, include и fragment - Программирование Android

19.12.2015, 15:20. Просмотров 525. Ответов 1
Метки (Все метки)

Здравствуйте.
Ранее мне приходилось работать с фрагментами, в ручную создавать DrawerLayout(а точнее выдвигающуюся слева панель, как в vk приложении, например) и проблем с этим не испытывал.

Сегодня, создавая новый проэкт в Android Studio, выбрал шаблон 'Empty project' в который уже был включена та самая выдвигающаяся панель.Но вот что-то не могу разобраться с тем, как переключаться между фрагментами.

И так.
Автоматически были сгенерированы следующие слои:
main.xml
XML
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
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">
 
    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
 
    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/main_drawer" />
 
</android.support.v4.widget.DrawerLayout>
content_main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.dontsleep.andreyserdyuk.dontsleep.Main">
 
    <!-- моя кнопка -->
    <Button
        android:id="@+id/reset_alarm"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:background="@drawable/im_ok_button"
        android:gravity="center"
        android:text="I'm OK"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textSize="18dp" />
 
</RelativeLayout>
и app_bar_main.xml
XML
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
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.dontsleep.andreyserdyuk.dontsleep.Main">
 
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">
 
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />
 
    </android.support.design.widget.AppBarLayout>
 
    <include android:id="@+id/main_content" layout="@layout/content_main" /> <!-- САМ ПРИПИСАЛ ID -->
 
</android.support.design.widget.CoordinatorLayout>
так-же в MainActivity был onNavigationItemSelected в него я приписал обработку нажатий по элементам из панели
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        Fragment _fragment = null;
        int id = item.getItemId();
        if (id == R.id.nav_playlist) {
            _fragment = new PlayListFragment();
        } else if (id == R.id.nav_settings) {
            _fragment = new SettingsFragment();
        }
 
        getFragmentManager()
                .beginTransaction()
                .replace(R.id.???????, _fragment) //КУДА СOВАТЬ СОЗДАННЫЙ ФРАГМЕНТ?
                .commit();
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
я попытался передать созданный фрагмент в main_content(app_bar_main.xml) и он содержимое фрагмента не заменяло, а добовлялось к уже созданному слою. От сюда и вопрос, куда и как передавать созданный фрагмент, что-бы он заменил настоящий слой, ну и сохранился в истории.
Спасибо за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru