안녕하세요.
아래의 뷰페이저 관련해서 궁금한 점이 있어서 글을 올렸습니다.
짧게 구성이 되어 있는 뷰페이저인데, 제가 이부분에 관련해서, 확실하게 구조에 알지 못해서,
다들 시간이 없으시고 바쁘시겠지만 한번 설명좀 듣고 싶어서, 이렇게 글을 썼습니다.
제가 풀이해본 결과는 아래와 같습니다.
int를 저장하는 ArrayList인 at_thumnail 을 만들고 String을 저장하는 at_title을 만듭니다.
그리고 뷰페이저인 mViewPager을 만들고 String 부분의 AGE_SECTION_NUMBER을 만들었습니다.
그리고, 이미지를 담는 at_thumnail에 5개의 이미지를 넣고, 문자열을 담는 at_title에 5개의 문자열을 담았습니다.
그리고 뷰들을 더 효과적으로 보여주기 위해서 어뎁터를 mSelectionsPagerAdapter 쓰기 위해서
setAdapter를 씁니다(?) . 그리고 아래쪽의 SectionsPagerAdapter는 뷰페이저에서 원하는 페이지(프래그넌트)를
하나씩 만들어 준다..
뷰페이지 관련해서 보다 좀 확실하게 이해하고 싶어서 여기저기 둘러다니면서 많이 보는데도 ..
저에겐 이해가 쉽지 않네요. 그리고 사실 SectionsPagerAdapter 아래쪽부터 시작해서는 어떻게 이 관계들이
유기적으로 흘러가는지 잘 모르겠습니다. 언뜻보기에 뷰페이저라고 하는 커다란 Container를 만들고
그 안쪽의 각각의 페이지는 fragment라고 하는 각각의 페이지들로 구성이 된다고 저는 이해했고
그로인해 총 5개의 이미지와 텍스트들이 적혀있는 5개의 프레그넌트가 있다고 생각했습니다.
그리고 아래의 소스에서 보았을때 static String ARG_SECTION_NUMBER = "section_number";
이 부분도 정확히 이해를 하지 못했습니다..
소스가 조금 추가되는 부분은 아래의 답변 부분에 이어서 달아보겠습니다ㅠ
import android.content.Intent;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
public class PX_ViewPager extends AppCompatActivity {
private SectionsPagerAdapter mSectionsPagerAdapter;
public static ArrayList<Integer> at_thumnail = new ArrayList<>(); // 이미지들 담는것
public static ArrayList<String> at_title = new ArrayList<>(); // 제목들 담는것
private ViewPager mViewPager;
static String ARG_SECTION_NUMBER = "section_number";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setTitle("타이틀");
setContentView(R.layout.activity_movie_viewpager);
// 뷰페이저에 나타나는 5가지 사진
at_thumnail.add(R.drawable.1);
at_thumnail.add(R.drawable.2);
at_thumnail.add(R.drawable.3);
at_thumnail.add(R.drawable.4);
at_thumnail.add(R.drawable.5);
at_title.add("1번클릭");
at_title.add("2번클릭");
at_title.add("3번클릭");
at_title.add("4번클릭");
at_title.add("5번클릭");