程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-把ViewPager 從一個fragment切換到另一個fragment中

android-把ViewPager 從一個fragment切換到另一個fragment中

編輯:編程綜合問答
把ViewPager 從一個fragment切換到另一個fragment中

Viewpager 中有兩個pages,在每一個 fragment中,我放入一個按鈕到switching fragment中,但是如果我改變方向,switching不能運行。對於switching fragment,我使用的是 OnChangePageButtonClick 接口。為什麼會出現這種情況呢?
ViewPager Activity:

public class ViewPagerMusic extends FragmentActivity implements OnChangePageButtonClick {
    private ViewPager vp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view_pager_music);
        ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(super.getSupportFragmentManager(), fragments);

        vp = (ViewPager)findViewById(R.id.viewpager);
        vp.setAdapter(viewPagerAdapter);
    }
    private class ViewPagerAdapter extends FragmentStatePagerAdapter {

        public ViewPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
    public Fragment getItem(int position) {
        switch(position) {
            case 0:
                MainPage mainPage = new MainPage();
                mainPage.setOnChengeButtonListener(ViewPagerMusic.this);
                return mainPage;
            case 1:
                PlaylistPage playlistPage = new PlaylistPage();
                playlistPage.setOnChengeButtonListener(ViewPagerMusic.this);
                return playlistPage;
        }
        return null;
    }
       @Override
        public int getCount() {
            return 2;
        }
    }
    @Override
    public void selectPage(int page) {
        vp.setCurrentItem(page);        
    }
}

Frgamnets:

public class MainPage extends Fragment {
    public MainPage() {
        setRetainInstance(true);
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.music_main_page, container, false);
        ImageButton btnPlaylist = (ImageButton)v.findViewById(R.id.btnGoPlaylist2);
        btnPlaylist.setOnClickListener(onButtonListener);
        return v;
    }
    private OnClickListener onButtonListener = new OnClickListener() {

        @Override
        public void onClick(View view) {
            onChangePageButtonClick.selectPage(1);
        }
    };
    public void setOnBackButtonListener(OnChangePageButtonClick onChangePageButtonClick) {
        this.onChangePageButtonClick = onChangePageButtonClick;
    }
    private OnChangePageButtonClick onChangePageButtonClick;
}

Playlist fragment 與 MainPage fragment相似。

最佳回答:


沒明白你那switching 的意思,是不能切換fragment ?有沒有可能是你的代碼有問題? OnChangePageButtonClick 設置那一設置錯了item index ?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved