ViewPager를 사용하여 Activity에서 Fragments로 데이터 전달

블루 맨 3399

나는 많이 조사했지만 내 사건에 대한 해결책을 찾지 못했습니다.

이것은 내 활동입니다.

public class ProfileActivity extends AppCompatActivity {



@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        setContentView(R.layout.activity_profile);



        //region FindViews
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        tabLayout = (PagerSlidingTabStrip) findViewById(R.id.tabs);
        //endregion

        //region ViewPager
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        setupViewPager(viewPager);
        viewPager.setOffscreenPageLimit(5);
//        tabLayout.setupWithViewPager(viewPager);
        tabLayout.setViewPager(viewPager);
        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                switch (position) {
                    case 0:
                        changeColor(ContextCompat.getColor(getApplicationContext(), R.color.theme_red_primary));
                        break;
                    case 1:
                        changeColor(ContextCompat.getColor(getApplicationContext(), R.color.theme_yellow_primary));
                        break;
                    case 2:
                        changeColor(ContextCompat.getColor(getApplicationContext(), R.color.theme_green_primary));
                        break;
                    case 3:
                        changeColor(ContextCompat.getColor(getApplicationContext(), R.color.theme_blue_primary));
                        break;
                    case 4:
                        changeColor(ContextCompat.getColor(getApplicationContext(), R.color.theme_black_primary));
                        break;
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        //endregion

        extrasForFragment = new Bundle();
        extrasForFragment.putInt("name", 3);

        //region Get Extras from Intent
        extras = getIntent().getExtras();
        if (extras != null) {
            userID = extras.getInt(StaticVariables.INTENT_USERID, -1);
            Log.e("ISER", "dd " + userID);
            OverViewFragment.newInstance().setArguments(extrasForFragment);
        }
        //endregion

        setTitle("");
    }

class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFrag(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }





private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFrag(OverViewFragment.newInstance(), getString(R.string.overview));
        adapter.addFrag(new Fragment2(), getString(R.string.text));
        adapter.addFrag(new Fragment3(), getString(R.string.text));
        adapter.addFrag(new Fragment4(), getString(R.string.text));
        adapter.addFrag(new Fragment5(), getString(R.string.text));
        viewPager.setAdapter(adapter);
    }
}

하지만 작동하지 않습니다 .. 이것은 내 조각입니다.

public class OverViewFragment extends Fragment {
 public static OverViewFragment newInstance() {
        return new OverViewFragment();
    }
 @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Bundle b = getArguments();
        if (b != null) {
            Log.e("EXTRAS", "sind: " + b.toString() + " und: " + b.getInt("name", 0));
        } else {
            Log.e("FAIL", "...");
        }
        return inflater.inflate(R.layout.fragment_recyclerview, container, false);
    }
}

하지만 작동하지 않았습니다. 나는 이것을 시도했다 : 안드로이드의 활동에서 조각으로 데이터를 보내고 이것 : 안드로이드에서 조각으로 활동 사이의 값 전달 하지만 아무것도 작동하고 싶지 않습니다 .. 해결책을 원합니다. 도움을 주셔서 감사합니다!

알렉스 타운센드

전화 할 수있는 유일한 장소는 setArguments라인에있다 OverViewFragment.newInstance().setArguments(extrasForFragment);당신에 사용되지 않습니다 ViewPager. 다음 setupViewPager과 같이 메서드에 인수를 설정하려고합니다 .

Fragment overviewFrag = OverViewFragment.newInstance();
overviewFrag.setArguments(<args_bundle>);
adapter.addFrag(overviewFrag, getString(R.string.overview));

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

DownloadManager를 사용하여 Activity에서 BroadcastReceiver로 데이터 전달

분류에서Dev

Safe Args를 사용하여 Activity에서 Fragment로 데이터 전달

분류에서Dev

UITableView에서 UIViewController로 segue를 사용하여 데이터 전달

분류에서Dev

Activity에서 DialogFragment로 데이터를 전달하는 방법

분류에서Dev

TabLayout을 사용하여 Activity에서 Fragment로 데이터를 전달하는 방법

분류에서Dev

XIB를 사용하여 UIViewController에서 Custom UIView로 데이터 전달

분류에서Dev

React Hooks를 사용하여 Child에서 다른 Child로 데이터 전달

분류에서Dev

PHP를 사용하여 HTML 양식에서 MySQL 데이터베이스로 데이터 전달

분류에서Dev

PHP를 사용하여 HTML 양식에서 MySQL 데이터베이스로 데이터 전달

분류에서Dev

Activity에서 조각으로 전달되는 번들 String 데이터를 사용하여 textView에서 텍스트를 설정할 수 없습니다.

분류에서Dev

SQL 및 PHP를 사용하여 페이지에서 부트 스트랩 모달로 데이터 전달

분류에서Dev

JavaScript를 사용하여 모달에 데이터 전달

분류에서Dev

결과를 필터링하기 위해 Ajax를 사용하여 Controller에서 View로 데이터 전달

분류에서Dev

REACTJS에서 Redux를 사용하여 데이터 전달

분류에서Dev

NodeJS를 서버 언어로 사용하여 jade에서 mongodb로 데이터를 전달하는 방법

분류에서Dev

서비스에서 데이터를로드하고 @Input을 사용하여 자식 구성 요소로 전달

분류에서Dev

expressjs를 사용하여 한 경로에서 다른 nodejs로 데이터를 전달하는 방법

분류에서Dev

$ emit () 메서드를 사용하여 Vue.js에서 자식에서 부모로 데이터 전달

분류에서Dev

ajax를 사용하여 한 PHP 페이지에서 다른 페이지로 데이터 전달

분류에서Dev

node.js + socket.io + express / ejs를 사용하여 클라이언트에서 서버로 데이터 전달

분류에서Dev

Nodejs를 사용하여 클라이언트에서 서버로 전달할 때 수정 된 데이터 형식

분류에서Dev

ajax를 사용하여 원격로드 된 콘텐츠에서 다른 PHP 페이지로 데이터 전달

분류에서Dev

JQuery를 사용하여 드롭 다운 목록에서 테이블로 데이터를 전달해야 함

분류에서Dev

Redux 스토어를 사용하여 하위에서 상위로 데이터를 전달해야합니까?

분류에서Dev

반응 후크를 사용하여 부모에서 자식으로 데이터를 전달하는 방법

분류에서Dev

Angular를 사용하여 한보기에서 다른보기로 데이터를 전달하는 방법

분류에서Dev

Pandas를 사용하여 적용에서 데이터 프레임을 인수로 전달

분류에서Dev

AppDelegate를 사용하여 앞뒤로 데이터 전달

분류에서Dev

Container에서 React-Redux (mapStateToProps에서)를 사용하여 View of Component로 데이터가 전달되지 않음

Related 관련 기사

  1. 1

    DownloadManager를 사용하여 Activity에서 BroadcastReceiver로 데이터 전달

  2. 2

    Safe Args를 사용하여 Activity에서 Fragment로 데이터 전달

  3. 3

    UITableView에서 UIViewController로 segue를 사용하여 데이터 전달

  4. 4

    Activity에서 DialogFragment로 데이터를 전달하는 방법

  5. 5

    TabLayout을 사용하여 Activity에서 Fragment로 데이터를 전달하는 방법

  6. 6

    XIB를 사용하여 UIViewController에서 Custom UIView로 데이터 전달

  7. 7

    React Hooks를 사용하여 Child에서 다른 Child로 데이터 전달

  8. 8

    PHP를 사용하여 HTML 양식에서 MySQL 데이터베이스로 데이터 전달

  9. 9

    PHP를 사용하여 HTML 양식에서 MySQL 데이터베이스로 데이터 전달

  10. 10

    Activity에서 조각으로 전달되는 번들 String 데이터를 사용하여 textView에서 텍스트를 설정할 수 없습니다.

  11. 11

    SQL 및 PHP를 사용하여 페이지에서 부트 스트랩 모달로 데이터 전달

  12. 12

    JavaScript를 사용하여 모달에 데이터 전달

  13. 13

    결과를 필터링하기 위해 Ajax를 사용하여 Controller에서 View로 데이터 전달

  14. 14

    REACTJS에서 Redux를 사용하여 데이터 전달

  15. 15

    NodeJS를 서버 언어로 사용하여 jade에서 mongodb로 데이터를 전달하는 방법

  16. 16

    서비스에서 데이터를로드하고 @Input을 사용하여 자식 구성 요소로 전달

  17. 17

    expressjs를 사용하여 한 경로에서 다른 nodejs로 데이터를 전달하는 방법

  18. 18

    $ emit () 메서드를 사용하여 Vue.js에서 자식에서 부모로 데이터 전달

  19. 19

    ajax를 사용하여 한 PHP 페이지에서 다른 페이지로 데이터 전달

  20. 20

    node.js + socket.io + express / ejs를 사용하여 클라이언트에서 서버로 데이터 전달

  21. 21

    Nodejs를 사용하여 클라이언트에서 서버로 전달할 때 수정 된 데이터 형식

  22. 22

    ajax를 사용하여 원격로드 된 콘텐츠에서 다른 PHP 페이지로 데이터 전달

  23. 23

    JQuery를 사용하여 드롭 다운 목록에서 테이블로 데이터를 전달해야 함

  24. 24

    Redux 스토어를 사용하여 하위에서 상위로 데이터를 전달해야합니까?

  25. 25

    반응 후크를 사용하여 부모에서 자식으로 데이터를 전달하는 방법

  26. 26

    Angular를 사용하여 한보기에서 다른보기로 데이터를 전달하는 방법

  27. 27

    Pandas를 사용하여 적용에서 데이터 프레임을 인수로 전달

  28. 28

    AppDelegate를 사용하여 앞뒤로 데이터 전달

  29. 29

    Container에서 React-Redux (mapStateToProps에서)를 사용하여 View of Component로 데이터가 전달되지 않음

뜨겁다태그

보관