Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将一个片段切换到另一个片段?_Android_Android Fragments - Fatal编程技术网

Android 如何将一个片段切换到另一个片段?

Android 如何将一个片段切换到另一个片段?,android,android-fragments,Android,Android Fragments,请帮我解决这个问题。我只能看到第一个片段-1的数据,但当我向右滑动时,没有片段-2的数据 ViewPager pager; protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.list_layout); PagerAdapter pagerAdapter = new myPagerAdapter(ge

请帮我解决这个问题。我只能看到第一个片段-1的数据,但当我向右滑动时,没有片段-2的数据

ViewPager pager;
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_layout);

    PagerAdapter pagerAdapter = new myPagerAdapter(getSupportFragmentManager());

    pager = (ViewPager)findViewById(R.id.pager);
    pager.setAdapter(pagerAdapter);

}
 private class myPagerAdapter extends FragmentPagerAdapter {

        public myPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int pos) {
            switch(pos){            
            case 0: 
                return  new Artists();          
            case 1:             
                return new Songs();
            default:                
                return null;
            }
        }
        public int getCount() {
            return 2;
        }                  
   }
//片段-2代码:-

private ArrayListsongsList=new ArrayList()

创建视图时的公共视图(布局、充气机、视图组容器、捆绑包保存状态){ 返回充气机。充气(R.layout.U活动,容器,错误); } 已创建ActivityState上的公共无效(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); //不管你想做什么!! Context=null; 字符串选择=MediaStore.Audio.Media.IS_MUSIC+“!=0”; String sortOrder=MediaStore.Audio.Media.DEFAULT\u SORT\u顺序; 字符串[]投影={ MediaStore.Audio.Media.\u ID, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.ALBUM\u ID, }; //现在我们需要查询从sd卡获取宋的数据 Cursor Cursor=this.getActivity().managedQuery(MediaStore.Audio.Media.EXTERNAL\u CONTENT\u URI, 投影,选择,空,空); while(cursor.moveToNext()){ songsList.add(cursor.getString(0)); songsList.add(cursor.getString(1)); songsList.add(cursor.getString(2)); songsList.add(cursor.getString(3)); songsList.add(cursor.getString(4)); songsList.add(cursor.getString(5)); } ListView lv=(ListView)getActivity().findViewById(R.id.ListView); int a[]=新int[]{R.id.txt1,R.id.txt2}; SimpleCursorAdapter=新的SimpleCursorAdapter(this.getActivity(), R.layout.play_项,光标,新字符串[]{MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.ARTIST},a); 低压设置适配器(适配器); lv.setOnItemClickListener(新的OnItemClickListener(){ @凌驾 public void onItemClick(AdapterView父级、视图、, 内部位置,长id){ //TODO自动生成的方法存根 int songIndex1=位置; 意图i=新意图(getActivity().getBaseContext(),Musik.class); i、 putExtra(“songIndex”,songIndex1); 星触觉(i); } }); }
请按照代码路径教程使用带片段的viewPager

我认为这是错误的

PagerAdapter pagerAdapter = new myPagerAdapter(getSupportFragmentManager());
改用

FragmentPagerAdapter pagerAdapter = new myPagerAdapter(getSupportFragmentManager());

当我把歌曲课放在案例一的时候,你能为歌曲贴代码吗。当我向右滑动另一个片段时,它显示了歌曲的所有相关数据,片段2没有任何数据,两个类在switch函数的case-1中都可以正常工作。在片段2的oncreate上写一个日志,检查片段2是否正在执行。为什么在片段类songs中使用onActivityCreated。使用onCreate、onCreateView方法
FragmentPagerAdapter pagerAdapter = new myPagerAdapter(getSupportFragmentManager());