안드로이드 이론 빡공 15
본문 바로가기
안드로이드(Android)

안드로이드 이론 빡공 15

by KyeongMin 2020. 6. 23.
728x90
반응형

이미지 출처 : 2020 Do it! 안드로이드 앱 프로그래밍(개정7판)

 

 

**MainActivity.java**

package com.threedpit.mypager;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ViewPager pager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        pager = findViewById(R.id.pager);
        pager.setOffscreenPageLimit(3);//3개의 프레그먼트 추가할것 이므로

        MyPagerAdapter adapter = new 			MyPagerAdapter(getSupportFragmentManager());

        Fragment1 fragment1 = new Fragment1();
        adapter.addItem(fragment1);

        Fragment2 fragment2= new Fragment2();
        adapter.addItem(fragment2);

        Fragment3 fragment3 = new Fragment3();
        adapter.addItem(fragment3);

        pager.setAdapter(adapter);// 마지막 이렇게 해줘야 페이지가 보인다.
    }
    //뷰페이저 안에 보이는 화면은 프레그먼트로 구현하겠다하는것
    //그 프레그먼트를 관리하는 어댑터를 상속함
    class MyPagerAdapter extends FragmentStatePagerAdapter{
    ArrayList<Fragment> items = new ArrayList<Fragment>();

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
        }
        //프레그먼트 추가
        public void addItem(Fragment item){
            items.add(item);
        }
        @NonNull
        @Override
        // 몇번째 위치에 있는지
        public Fragment getItem(int position) {
            return items.get(position);
        }

        @Override
        //프레그먼트 갯수수
       public int getCount() {
            return items.size();
        }
    }

}

728x90
반응형

'안드로이드(Android)' 카테고리의 다른 글

안드로이드 이론 빡공 17  (0) 2020.06.29
안드로이드 이론 빡공 16  (0) 2020.06.24
안드로이드 이론 빡공 14  (0) 2020.06.22
안드로이드 이론 빡공 13  (0) 2020.06.19
안드로이드 이론 빡공 12  (0) 2020.06.19

댓글