Android 如何将一个片段切换到另一个片段?
请帮我解决这个问题。我只能看到第一个片段-1的数据,但当我向右滑动时,没有片段-2的数据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
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());