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

Drawer от гугл + fragment - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Реализация отправки данных из EditText приложения Android в поле таблицы БД под СУБД Oracle 11g и в поле БД под СУБД MSSQL http://www.cyberforum.ru/android-dev/thread1085936.html
всем доброго времени суток! Читаю и изучаю мануалы и уроки по разработке ПО под Андройд. вообщем постоянно крутиться мысль в голове, так как имею дело постоянно с различными БД и в основном работаю с Oracle и MSSQL Так вот...изначально хотелось создать приложение, которое при установке ряд значений от пользователя могла каким-то образом заполнить этими данными поля в базах данных Oracle и...
Программирование Android Ошибка "Error opening trace file: No such file or directory (2)" пару часов назад прога работала включил комп перестала пишет такую ошибку java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.de/com.example.de.MainActivity}: android.os.NetworkOnMainThreadException я понял смысл ошибки, есть метод какой подключается к серверу вот , если я убераю этот метод всё работает даже если убераю права на пользование Интернет тоже работает но... http://www.cyberforum.ru/android-dev/thread1085880.html
Общая картина (XML) Программирование Android
Доброго времени суток,форумчане ! Предисловие: недавно начал изучать основу основ - XML(поправте,если я не прав). До этого имел некоторый опыт и знания в следующих областях : c++,php,javascript ( поверхностно всё ). Прошу заранее извинить за некорректность моих действий или т.п.. Порой сталкиваюсь с затруднениями в процессе обучения,это вызвано непониманием,в некоторой степени, общей...
Автоматическое удаление уведомления в статус баре, после нажатия на него Программирование Android
Создаю уведомление из Activity в onCreate(): NotificationManager notificationManager; notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Uri address = Uri.parse("http://site"); Intent openLink = new Intent(Intent.ACTION_VIEW, address); PendingIntent pIntent = PendingIntent.getActivity(this, 1, openLink, ...
Программирование Android программный вывод Bitmap на экран http://www.cyberforum.ru/android-dev/thread1085505.html
главное активити. public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //делаем полноэкранным getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); // без заголовка
Программирование Android Приложение Hello World Все Здрасте. Я вот решил начать изучать программирование под Android. И уже с первым же приложением у меня возникли проблемы. Все что нужно я установил и решил создать свое приложения. После создания у меня в коде вылезли такие вот ошибки: подробнее

Показать сообщение отдельно
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297

Drawer от гугл + fragment - Программирование Android

31.01.2014, 15:46. Просмотров 753. Ответов 0
Метки (Все метки)

Всем привет!
Делаю программу с Drawer.
Все сделал как написано в доках http://developer.android.com/intl/ru...av-drawer.html

ПРосмотрел пример прриложения от туда же.

Но в приложении переключаются картинки. На сколько я понял, я могу в rootView вместо картинок подставлять фрагменты, но не могу разобраться как это сделать.

Как мне показалось, надо в коде:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private class DrawerItemClickListener implements ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            selectItem(position);
        }
    }
 
    private void selectItem(int position) {
        // update the main content by replacing fragments
        Fragment fragment = new PlanetFragment();
        Bundle args = new Bundle();
        args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
        fragment.setArguments(args);
 
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
 
        // update selected item and title, then close the drawer
        mDrawerList.setItemChecked(position, true);
        setTitle(mPlanetTitles[position]);
        mDrawerLayout.closeDrawer(mDrawerList);
    }
указать ему что открывается fragment а не рисунок.

Подскажите путь что именно поправить и как ему сказать чтобы он в rootView показал нужный фрагмент

Спасибо большое

Добавлено через 45 минут
Собственно у меня сейчас вот так выглядит:
Java
1
2
3
4
5
6
7
8
9
10
11
        private class DrawerItemClickListener implements ListView.OnItemClickListener {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                selectItem(position);
                if (position == 0) {
                    fTrans = getFragmentManager().beginTransaction();
                    fTrans.add(R.id.content_frame, calc);
                    fTrans.commit();
                }
            }
        }
При этом при выборе position==0 ничего не меняется, но транзакция судя по всему проходит, потому что если я опять кликаю по position==0 - программа закрывается с ошибкой:
Fragment already added

Добавлено через 6 часов 48 минут
Собственно докапался вот до такого кода в MainActivity:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static class PlanetFragment extends Fragment {
        public static final String ARG_PLANET_NUMBER = "planet_number";
 
        public PlanetFragment() {
            // Empty constructor required for fragment subclasses
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment, container, false);
            int i = getArguments().getInt(ARG_PLANET_NUMBER);
            String planet = getResources().getStringArray(R.array.menu_array)[i];
 
            int imageId = getResources().getIdentifier(planet.toLowerCase(Locale.getDefault()),
                            "drawable", getActivity().getPackageName());
            ((ImageView) rootView.findViewById(R.id.image)).setImageResource(imageId);
            getActivity().setTitle(planet);
            return rootView;
        }
    }


В нем определяется новый фрагмент в xml файле fragment.xml :
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:gravity="center"
    android:padding="32dp" />


Прав ли я, что мне надо поменять в файле fragment ImageView на Fragment и в классе PlanetFragment я должен определять fragment а не image ???

Если не сложно, подскажите кодом как это сделать. Если надо выложу весь проект. А то в гугле все показывают гугловый сэмпл с картинками и все.

Спасибо

Добавлено через 1 час 26 минут
Проблема решилась следующим образом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment, container, false);
            int i = getArguments().getInt(ARG_PLANET_NUMBER);
            String planet = getResources().getStringArray(R.array.menu_array)[i];
 
            if (i == 0) {
                fragment = new Calc();
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
            } {
                 //и так далее
}
            getActivity().setTitle(planet);
            return rootView;
        }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru