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

Перелистывание экранов - Android

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 123, средняя оценка - 4.86
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
07.05.2013, 22:26     Перелистывание экранов #1
Если кто пользовался официальным приложение для ВК под андройд, то в разделе "новости" если провести пальцем по экрану,то от выползает как бы его продолжение (такой эффект встречается довольно часто в множестве приложений)
существует ли какой - либо контейнер для этого, разметка или это все делается иначе?
подскажите как
надо не просто сменить экран ( функцией setContentView, например) ,а именно перелистыванием
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 23:27  [ТС]     Перелистывание экранов #21
будьте добры примерчик..
как этот инстанс получить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 23:34     Перелистывание экранов #22
Java
1
new Registration_Fragment1(Registration_Activity.this);
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 23:50  [ТС]     Перелистывание экранов #23
Java
1
2
3
4
5
6
7
public class Registration_Fragment1 extends Fragment {  
    
    private Context parent;
    Registration_Fragment1(Context par) {
        parent = par;
    }
}
а он говорит, этот фрагмент должен сопровождаться предустановленным конструктором, без аргументов

и тип неверный,наверно
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 23:56     Перелистывание экранов #24
кто говорит?
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
15.05.2013, 23:58  [ТС]     Перелистывание экранов #25
компилятор, ктож еще
Миниатюры
Перелистывание экранов  
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.05.2013, 00:07     Перелистывание экранов #26
у вас импорт контекста отсутствует.

Добавлено через 3 минуты
да и вроде эта надпись не к этому участку кода.

Добавлено через 23 секунды
наводите курсор н ошибку в коде чтобы увидеть описание.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
16.05.2013, 00:09  [ТС]     Перелистывание экранов #27
это да
а тип верный ? Registration_Activity.this возвращает Context ?

импорт добавил, но всеравно конструктор менять не хочет
а если задавать метод, то его не видно из Main_Activity...

Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
да и вроде эта надпись не к этому участку кода.
к этому
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
16.05.2013, 00:11  [ТС]     Перелистывание экранов #28
вернее он хочет чтобы конструктор чего-то возвращал
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
16.05.2013, 00:17  [ТС]     Перелистывание экранов #29
ну вот, 2 ошибки
избежать неопределенного конструкотра
Миниатюры
Перелистывание экранов  
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.05.2013, 00:24     Перелистывание экранов #30
я вспомнил что можно просто использовать метод getActivity() в фрагменте.
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
16.05.2013, 00:37  [ТС]     Перелистывание экранов #31
как теперь использовать методы..?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.05.2013, 00:39     Перелистывание экранов #32
Java
1
2
Registration_Activity activity = (Registration_Activity)getActivity();
activity.method();
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
18.05.2013, 15:18     Перелистывание экранов #33
Так а решение есть: а как запретить перелистывание экрана пальцем? ???
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
18.05.2013, 16:19  [ТС]     Перелистывание экранов #34
у меня нет
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
18.05.2013, 16:38     Перелистывание экранов #35
Цитата Сообщение от spydark91 Посмотреть сообщение
у меня нет
Жаль.

Сейчас пытаюсь разобрать как с одного фрагмента перейти на другой. Так что-то не получается. Пытаюсь так:

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
public class Registration_Fragment1 extends Fragment {  
    
     public ViewPager mViewPager;
     MevolutionActivity meVol = new MevolutionActivity();
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {      
        
        
        View myView = inflater.inflate(R.layout.registration_screen1, container, false);   
 
        //добавляю
        Button but1 = (Button)myView.findViewById(R.id.buttonBig);
        
        but1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
        mViewPager.setCurrentItem(2);
         Toast toast = Toast.makeText(getActivity(), 
                           "Кнопка нажата!", Toast.LENGTH_SHORT); 
                        toast.show(); 
            }
        });
             return myView;
    }
       }
spydark91
84 / 84 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
19.05.2013, 11:18  [ТС]     Перелистывание экранов #36
видимо дело в том что он не видит объекта mViewPager
это потому что он объявлен в другом классе, родительской активности
чтоб к нему обратиться надо сделать так

Java
1
2
Registration_Activity parentA = (Registration_Activity)getActivity();
parentA.mViewPager.setCurrentItem(2);
где Registration_Activity класс - контейнер
и mViewPager, соответственно должен быть объявлен публично

Java
1
parentA.mViewPager.setCurrentItem(2);
отсчет фрагментов начинается с нуля, т.е. тут вы вызываете 3 фрагмент. вдруг не знали
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 23:51     Перелистывание экранов #37
А как передать данные их Fragment1 в Fragment2?

пытаюсь так в OnCrateView:

Java
1
2
3
4
5
6
Fragment1 f = new Fragment1();
                int index = 999;
                    // Supply index input as an argument.
                    Bundle args = new Bundle();
                    args.putInt("index", index);
                    f.setArguments(args);
получаю в OnCrateView fragment2 так:

Java
1
getArguments().getInt("index", 0)
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.05.2013, 00:00     Перелистывание экранов #38
Java
1
2
MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.my_fragment);
fragment.setIndex(index);
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
20.05.2013, 00:06     Перелистывание экранов #39
не понятно... можно объяснить куда это писать??? и как потом получить??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 00:08     Перелистывание экранов
Еще ссылки по теме:

Android Создание экранов
Поясните про поддержку разных экранов Android
Генерация цветовых экранов Android
Dimens для разных экранов Android
Как реализовать смену экранов жестами Basic4Android

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

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.05.2013, 00:08     Перелистывание экранов #40
туда, где вам нужно передать индекс.
Yandex
Объявления
20.05.2013, 00:08     Перелистывание экранов
Ответ Создать тему
Опции темы

Текущее время: 07:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru