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

Как отобразить ViewPager внутри другой активити - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android OpenGL ES 2.0 http://www.cyberforum.ru/android-dev/thread976054.html
Вот код: package com.mycompany.opengl; import android.opengl.*; import java.nio.*; import javax.microedition.khronos.egl.*; import javax.microedition.khronos.opengles.*; import javax.microedition.khronos.egl.EGLConfig; public class MyGL20Renderer implements GLSurfaceView.Renderer
Android Обновление данных в activity Всем доброй ночи! Как обновить данные в активити при возврате из диалога или из другой активити, т.е. когда фокус возвращается на активити? Блин, запутанно получилось... Вообщем, есть код, который выполняет обновление представления, выполняет поиск данных и обновляет ViewPager, куда его поместить, чтобы это происходило каждый раз, когда активити становиться активной вновь: закрытие диалога,... http://www.cyberforum.ru/android-dev/thread975845.html
XMLPullParser чтение русских символов Android
Здравствуйте. Согласно заданию, необходимо написать парсер, который будет эммм... парсить(масло масленое) вот эту вот страницу http://www.cbr.ru/scripts/XML_News.asp До первой русской буквы, т.е. И в слове Информация все вроде как идет неплохо, а дальше выкидывает со словами well-formed (invalid token). Я так понимаю, проблема в кодировке. Вот собственно парсер: public List<HashMap<String,...
Android Notification , BroadcastReceiver
в программе мне нужно реализовать "свой системный звук" . К примеру в папке \res\raw есть звук shot.ogg и он должен звучать в фоновом режиме или даже если запущенны другие программы. Как лучше сделать ,через Notification или есть попроще пути? Да, и если через Notification то будет ли это работать в BroadcastReceiver ?
Android CyanogenMod на alcatel 6010x http://www.cyberforum.ru/android-dev/thread975658.html
Привет всем! Такой вопрос: Можно ли поставить CyanogenMod на alcatel 6010x? Если да, то можно инструкцию? Если нет, то помогите поставить руты! Кому не трудно - можно в скайп: xpehamet
Android Программно поставить android:password="false" Имеем в main.xml: <EditText android:id="@+id/etPass" android:password="true" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1"> </EditText> <CheckBox android:id="@+id/cbShowPass" подробнее

Показать сообщение отдельно
kpoxaa
70 / 31 / 1
Регистрация: 03.08.2012
Сообщений: 446

Как отобразить ViewPager внутри другой активити - Android

13.10.2013, 12:28. Просмотров 804. Ответов 1
Метки (Все метки)

Подскажите пожалуйста. Изучил данный урок. И хочу сделать такую прокрутку страниц внутри класса, который наследуются от активити, а не от ФрагментАктивити. Прикладываю проект. Посмотрите пожалуйста у кого есть время. Спасибо.

Вкратце, что я хочу сделать:

Есть активити1 - это главная активность. В ней находится еще лэйаут1. Допустим в лэйауте1 я хочу отобразить мой прокручивающийся вью из этого урока. Проблема на данный момент заключается в том, что главная активи наследуется от Activity, и нельзя прям из нее все делать. Нужно в лэйаут1 ложить лэйаут из файла, который наследуется от FragmentActivity. И я уже запутался и не смог придумать как же из главного активити запустить второе активити, чтобы оно показывалось в первом и прокручивало свой лэйаут толкьо в лэйауте номер 1.

class ActivityTwo

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
 
public class ActivityTwo extends FragmentActivity 
{
    static final String TAG = "MyLog2";
    static final int PAGE_COUNT = 10;
 
    ViewPager pager;
    PagerAdapter pagerAdapter;
 
    /*
     В onCreate создаем адаптер и устанавливаем его для ViewPager. Также для ViewPager создаем обработчик 
     событий. Он имеет три метода:
        onPageSelected – дате номер текущей отображенной страницы
        onPageScrolled – достаточно сложно объяснить на словах. Метод дает нам представление о текущем значении скроллера при 
пролистывании. Рекомендую поставить там запись в лог, полистать и посмотреть, что получается.
        onPageScrollStateChanged – сообщает нам о состоянии, в котором находится скроллер 
                                   (    SCROLL_STATE_IDLE – ничего не скролится, 
                                    SCROLL_STATE_DRAGGING – пользователь «тащит» страницу, 
                                    SCROLL_STATE_SETTLING – скроллер долистывает страницу до конца)
 
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        pager = (ViewPager) findViewById(R.id.pager);
        pagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
        pager.setAdapter(pagerAdapter);
 
        pager.setOnPageChangeListener(new OnPageChangeListener() 
        {
            @Override
            public void onPageSelected(int position) 
            {
                Log.d(TAG, "onPageSelected, position = " + position);
            }
 
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) 
            {
            }
 
            @Override
            public void onPageScrollStateChanged(int state) 
            {
            }
        });
    }
    
    /*
     * Класс FragmentPagerAdapter - абстрактный. Нам надо реализовать в нем пару методов. Для этого создаем 
     * класс MyFragmentPagerAdapter. В нем реализуем методы:
        getItem – по номеру страницы нам надо вернуть фрагмент, используем наш метод newInstance
        getCount – здесь мы должны возвращать кол-во страниц, используем константу
     */
    
    // обязательно помещаем PagerTitleStrip внутрь ViewPager. (смотри xml)
    
    /*
     * PagerTabStrip
       Заголовки могут участвовать в навигации. Для этого используется компонент PagerTabStrip. 
       Это аналог PagerTitleStrip, но при нажатии на заголовок он перелистывает страницу. 
       Его встраивание полностью аналогично только что рассмотренному PagerTitleStrip
     */
    private class MyFragmentPagerAdapter extends FragmentPagerAdapter 
    {
        public MyFragmentPagerAdapter(FragmentManager fm) 
        {
            super(fm);
        }
 
        // метод getPageTitle, чтобы PagerTitleStrip знал какой текст показывать в заголовке.
        @Override
        public CharSequence getPageTitle(int position) 
        {
          return "Title " + position;
        }
        
        @Override
        public Fragment getItem(int position) 
        {
            return PageFragment.newInstance(position);
        }
 
        @Override
        public int getCount() 
        {
            return PAGE_COUNT;
        }
    }
}

class MainActivity

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
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
 
public class MainActivity extends Activity
{
    public View view;
    public LayoutInflater layoutInflater;
    public LinearLayout lLay;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        
        //Intent intent = new Intent(this, ActivityTwo.class);
        //startActivity(intent);
        
        lLay = (LinearLayout) findViewById(R.id.lLay1);
        view = ((LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.main, null, false);
        lLay.addView(view);
    }
}
class PageFragment

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.util.Random;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
 
 
public class PageFragment extends Fragment 
{
  static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
  
  int pageNumber;
  int backColor;
  
  /*
   * newInstance создает новый экземпляр фрагмента и записывает ему в атрибуты число, 
   * которое пришло на вход. Это число – номер страницы, которую хочет показать ViewPager. 
   * По нему фрагмент будет определять, какое содержимое создавать в фрагменте.
   */
  static PageFragment newInstance(int page) 
  {
    PageFragment pageFragment = new PageFragment();
    Bundle arguments = new Bundle();
    
    arguments.putInt(ARGUMENT_PAGE_NUMBER, page);
    
    pageFragment.setArguments(arguments);
    
    return pageFragment;
  }
  
  /*
   * onCreate читаем номер страницы из аргументов. Далее формируем цвет из рандомных компонентов. 
   * Он будет использоваться для фона страниц, чтобы визуально отличать одну страницу от другой.
   */
  @Override
  public void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);
    pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);
    
    Random rnd = new Random();
    backColor = Color.argb(40, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
  }
  
  /* 
   *  В onCreateView создаем View, находим на нем TextView, пишем ему простой текст с номером страницы и ставим фоновый цвет.
   */
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
  {
    View view = inflater.inflate(R.layout.fragment, null);
    
    TextView textNameMagic = (TextView) view.findViewById(R.id.magic_text_name);
    textNameMagic.setText("Page " + pageNumber);
    
    TextView textDescription = (TextView) view.findViewById(R.id.text_description_magic);
    textDescription.setText("Page " + pageNumber);
    
    ImageView imageView = (ImageView)view.findViewById(R.id.magic_image);
    
    return view;
  }
}
Вложения
Тип файла: rar test_Fragment.rar (1.18 Мб, 7 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru