Android Recyclerview不使用viewpager刷新片段中的数据

Android Recyclerview不使用viewpager刷新片段中的数据,android,android-recyclerview,recyclerview-layout,Android,Android Recyclerview,Recyclerview Layout,我正在使用recyclerview显示sd卡上的本地图像和视频,当我从片段中删除任何视频或图像时,它会被删除,但不会消失。我必须回去显示数据的变化。我的回收器视图不会自动刷新不会自动刷新。有人能告诉我怎么修吗 这是我的密码 RecyleAdapter.java public class SavedRecycleAdapter extends RecyclerView.Adapter<SavedRecycleAdapter.MyViewHolder> { private

我正在使用recyclerview显示sd卡上的本地图像和视频,当我从片段中删除任何视频或图像时,它会被删除,但不会消失。我必须回去显示数据的变化。我的回收器视图不会自动刷新不会自动刷新。有人能告诉我怎么修吗 这是我的密码

RecyleAdapter.java

    public class SavedRecycleAdapter extends RecyclerView.Adapter<SavedRecycleAdapter.MyViewHolder> {
    private static String DIRECTORY_SAVE_MEDIA = "/storage/emulated/0/Folder/";

    private ArrayList <File> filesList;
    private Activity activity;
    Context context;

    public class MyViewHolder extends RecyclerView.ViewHolder {
        ImageView videosThumbnail, picturesThumbnail;
        ImageButton imageDelete, imageShare, videoShare, videoDelete;
        CardView videoCardView, imageCardView;


        public MyViewHolder(View itemView) {
            super(itemView);
            picturesThumbnail = itemView.findViewById(R.id.imagesThumbnailSaved);
            videosThumbnail = itemView.findViewById(R.id.videosThumbnailSaved);
            imageDelete = itemView.findViewById(R.id.imageDeleteSaved);
            imageShare = itemView.findViewById(R.id.imageShareSaved);
            videoDelete = itemView.findViewById(R.id.videoDeleteSaved);
            videoShare = itemView.findViewById(R.id.videoShareSaved);
            videoCardView = itemView.findViewById(R.id.videoCardViewSaved);
            imageCardView = itemView.findViewById(R.id.imageCardViewSaved);
        }
    }

    public SavedRecycleAdapter(ArrayList <File> filesList, Activity activity) {
        this.filesList = filesList;
        this.activity = activity;
    }


 @Override
    public SavedRecycleAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View inflatedView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.saved_item_view, parent, false);
        return new SavedRecycleAdapter.MyViewHolder(inflatedView);

    }

    @Override
    public void onBindViewHolder(final SavedRecycleAdapter.MyViewHolder holder, int position) {
        final File currentFile = filesList.get(position);

        if (currentFile.toString().endsWith(".mp4")) {
            holder.videoCardView.setVisibility(View.VISIBLE);
            holder.imageCardView.setVisibility(View.GONE);

            Glide.with(activity)
                    .load(Uri.fromFile(new File(currentFile.getAbsolutePath())))
                    .into(holder.videosThumbnail);
            holder.videoDelete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    File file = new File(currentFile.getAbsolutePath());
                    boolean deleted = file.delete();

                    //
                }
            });
            holder.videosThumbnail.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    Intent intent = new Intent(activity, VideoViewerActivity.class);
                    intent.putExtra("video", currentFile.getAbsolutePath());
                    activity.startActivity(intent);

                }
            });

            holder.videoShare.setOnClickListener(new View.OnClickListener() {
               //Do stuff


        } else {
            holder.videoCardView.setVisibility(View.GONE);
            holder.imageCardView.setVisibility(View.VISIBLE);


            Glide.with(activity).load(currentFile.getAbsolutePath())
                    .skipMemoryCache(false)
                    .crossFade().into(holder.picturesThumbnail);
            holder.imageDelete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    File file = new File(currentFile.getAbsolutePath());
                    boolean deleted = file.delete();


            holder.picturesThumbnail.setOnClickListener(new View.OnClickListener() {
                // Do stuff

            holder.imageShare.setOnClickListener(new View.OnClickListener() {

        }

    }

    @Override
    public int getItemCount() {
        return filesList.size();
    }

}
public class ViewPagerAdapter extends FragmentPagerAdapter {


ArrayList<Fragment> mFragment = new ArrayList<>();
ArrayList<String> mTitles = new ArrayList<>();

public void addFragments (Fragment fragment,String tabTitles)
{
    this.mFragment.add(fragment);
    this.mTitles.add(tabTitles);
}
public  ViewPagerAdapter(FragmentManager fm)
{
    super(fm);
}
@Override
public Fragment getItem(int position) {
    return mFragment.get(position);
}

@Override
public int getCount() {
    return mFragment.size();
}

@Override
public CharSequence getPageTitle(int position) {
    return mTitles.get(position);
}
公共类SavedRecycleAdapter扩展了RecycleView.Adapter{
私有静态字符串目录_SAVE_MEDIA=“/storage/simulated/0/Folder/”;
私有ArrayList文件列表;
私人活动;
语境;
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
ImageView视频缩略图,图片缩略图;
ImageButton imageDelete、imageShare、videoShare、videoDelete;
CardView videoCardView、imageCardView;
公共MyViewHolder(查看项目视图){
超级(项目视图);
picturesThumbnail=itemView.findViewById(R.id.ImagestHumbnail已保存);
videosThumbnail=itemView.findviewbyd(R.id.videosThumbnail已保存);
imageDelete=itemView.findViewById(R.id.imageDeleteSaved);
imageShare=itemView.findViewById(R.id.imageShareSaved);
videoDelete=itemView.findViewById(R.id.videoDeleteSaved);
videoShare=itemView.findviewbyd(R.id.videoShareSaved);
videoCardView=itemView.findViewById(R.id.videoCardViewSaved);
imageCardView=itemView.findViewById(R.id.imageCardViewSaved);
}
}
public SavedRecycleAdapter(ArrayList文件列表,活动){
this.filesList=filesList;
这个。活动=活动;
}
@凌驾
public SavedRecycleAdapter.MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View inflatedView=LayoutInflater.from(parent.getContext())
.充气(R.layout.saved_item_视图,父视图,false);
返回新的SavedRecycleAdapter.MyViewHolder(充气视图);
}
@凌驾
BindViewHolder上的公共无效(最终保存dRecycleAdapter.MyViewHolder,int位置){
最终文件currentFile=filesList.get(位置);
if(currentFile.toString().endsWith(“.mp4”)){
holder.videoCardView.setVisibility(View.VISIBLE);
holder.imageCardView.setVisibility(View.GONE);
滑翔(活动)
.load(Uri.fromFile(新文件(currentFile.getAbsolutePath()))
.into(holder.videosthumbail);
holder.videoDelete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
File File=新文件(currentFile.getAbsolutePath());
布尔删除=file.delete();
//
}
});
holder.videosThumbnail.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
意向意向=新意向(活动,VideoViewerActivity.class);
intent.putExtra(“视频”,currentFile.getAbsolutePath());
活动。开始触觉(意图);
}
});
holder.videoShare.setOnClickListener(新视图.OnClickListener(){
//做事
}否则{
holder.videoCardView.setVisibility(View.GONE);
holder.imageCardView.setVisibility(View.VISIBLE);
Glide.with(activity.load)(currentFile.getAbsolutePath())
.skipMemoryCache(false)
.crossFade()。插入(holder.picturesthumbail);
holder.imageDelete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
File File=新文件(currentFile.getAbsolutePath());
布尔删除=file.delete();
holder.picturesthumbail.setOnClickListener(新视图.OnClickListener(){
//做事
holder.imageShare.setOnClickListener(新视图.OnClickListener(){
}
}
@凌驾
public int getItemCount(){
返回filesList.size();
}
}
这是我的片段代码

public class SavedStoriesFragment extends Fragment {
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
private static final String FILE_PATH = "/storage/emulated/0/Folder/";

public SavedStoriesFragment() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_saved_stories, container, false);

    recyclerView=(RecyclerView)v.findViewById(R.id.savedRecyclerView);
    layoutManager = new GridLayoutManager(getContext(),2);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.addItemDecoration(new ItemDecorationAlbumColumns(
            getResources().getDimensionPixelSize(R.dimen.image_list_space),2));
    getListFiles(new File(FILE_PATH));
    SavedRecycleAdapter ra = new SavedRecycleAdapter(this.getListFiles(new File(FILE_PATH)), getActivity());
    recyclerView.setAdapter(ra);

    return v;
}

private ArrayList<File> getListFiles(File parentDir) {
    ArrayList<File> inFiles = new ArrayList<File>();
    File[] files;
    files = parentDir.listFiles();
    if (files != null) {
        for (File file : files) {
            if (file.getName().endsWith(".jpg") ||
                    file.getName().endsWith(".png") ||
                    file.getName().endsWith(".jpeg")||
                    (file.getName().endsWith(".mp4") ||
                            file.getName().endsWith(".gif"))) {
                if (!inFiles.contains(file))
                    inFiles.add(file);
            }
        }
    }
    return inFiles;
}



}
公共类SavedStoriesFragment扩展片段{
回收视图回收视图;
RecyclerView.LayoutManager LayoutManager;
私有静态最终字符串文件_PATH=“/storage/emulated/0/Folder/”;
公共存储方向片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.layout.fragment\u saved\u stories,container,false);
recyclerView=(recyclerView)v.findViewById(R.id.savedRecyclerView);
layoutManager=新的GridLayoutManager(getContext(),2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(新的ItemDecoration列)(
getResources().getDimensionPixelSize(R.dimen.image_列表_空间),2);
getListFiles(新文件(文件路径));
savedrecycledapter ra=new savedrecycledapter(this.getListFiles(新文件(文件路径)),getActivity());
recyclerView.setAdapter(ra);
返回v;
}
私有ArrayList getListFiles(文件parentDir){
ArrayList inFiles=新的ArrayList();
文件[]文件;
files=parentDir.listFiles();
如果(文件!=null){
用于(文件:文件){
if(file.getName().endsWith(“.jpg”)||
file.getName().endsWith(“.png”)||
file.getName().endsWith(“.jpeg”)||
(file.getName().endsWith(“.mp4”)||
file.getName().endsWith(“.gif”)){
如果(!inFiles.contains(文件))
inFiles.add(文件);
}
}
}
重新
public void refreshRecyclerView() {
   ra.setFilesList(this.getListFiles(new File(FILE_PATH)))
}
public void setFilesList(ArrayList <File> filesList) {
        this.filesList = filesList;
        notifyDataSetChanged();
    }
public class ViewPagerAdapter extends FragmentPagerAdapter
public class ViewPagerAdapter extends FragmentStatePagerAdapter