从FragmentPagerAdapter

时间:2015-12-03 11:31:12

标签: android android-fragments android-viewpager fragmentpageradapter

我正在尝试在FragmentPagerAdapter上实施一个ViewPager的图库。每个fragment都有一个"删除" button删除文件。

然后,我尝试删除此fragment,并在调用fragment的{​​{1}}时滚动到下一个callback

总之,首先触摸删除按钮时,删除远程FTP服务器中的文件,然后删除本地文件。

这是AsyncTask

Activity容器
ViewPager

这是 public class MediaViewerActivity extends FragmentActivity implements OnFTPResult{ (...) protected void onCreate(Bundle savedInstanceState) { ArrayList<String> multimedia; viewPager = (ViewPager) findViewById(R.id.pager); multimedia = getFiles(); MediaViewerAdapter adapter; adapter = new MediaViewerAdapter(getSupportFragmentManager(), MediaViewerActivity.this, multimedia); viewPager.setOffscreenPageLimit(2); viewPager.setAdapter(adapter); viewPager.setCurrentItem(position); (...) } @Override public void onActionPerformed(String result) { switch (result) { case "Done delete": //remove the fragment and local file break; } } }

adapter的代码
ViewPager

这是public class MediaViewerAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener{ (...) public MediaViewerAdapter(FragmentManager fm, Context _ctx,ArrayList<String> imagePaths) { super(fm); manager = fm; _imagePaths = imagePaths; ctx = _ctx; } } (...) @Override public Fragment getItem(int position) { Fragment fragment; String[] fileExtensionCaching = _imagePaths.get(position).split("\\."); String currentExtension = fileExtensionCaching[fileExtensionCaching.length - 1]; Bundle args = new Bundle(); args.putString("path", _imagePaths.get(position)); if((currentExtension.equals("pdf"))) fragment = FragmentPDFViewer.newInstance(args); else if((currentExtension.equals("jpg") || currentExtension.equals("png") || currentExtension.equals("gif"))) { fragment = FragmentImageViewer.newInstance(args); } else{ fragment = FragmentVideoPlayer.newInstance(args); } return fragment; } @Override public int getCount() { return _imagePaths.size(); } (...) }

的一部分
AsyncTask

这是删除当前片段然后滚动到下一个(如果有)的最佳安全方法?

由于

0 个答案:

没有答案