私はこの問題に取り組んでいます。私は最初のフラグメント-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コード: -
プライベートArrayListsongsList =新しいArrayListを();
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.songs_activity, container, false);
}
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
// whatever you want to do!!
Context context = null;
String selection = MediaStore.Audio.Media.IS_MUSIC+ "!=0";
String sortOrder = MediaStore.Audio.Media.DEFAULT_SORT_ORDER;
String[] projection = {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.ALBUM_ID,
};
// now we need to query for taking song's data from sd card
Cursor cursor = this.getActivity().managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection, selection, null, null);
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[]= new int[]{R.id.txt1 ,R.id.txt2};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this.getActivity(),
R.layout.play_item, cursor, new String[]{MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST}, a);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
int songIndex1 = position;
Intent i = new Intent(getActivity().getBaseContext(),Musik.class);
i.putExtra("songIndex", songIndex1);
startActivity(i);
}
});
}
を使用し、私はこれは間違っていると思うフラグメント https://github.com/codepath/android_guides/wiki/ViewPager-with-FragmentPagerAdapter
でviewPagerを使用するためのコードパスのチュートリアルに従ってください? –
私はケース-1で曲のクラスを入れます。それは、私が別の断片のために右にスワイプすると、曲のすべての関連データを表示します。断片のデータはありません。 – rupesh
フラグメント2のoncreateにログを書き込み、フラグメント2が実行されているかどうかを確認します。 –