Android 如何将RecycleView中的RecycleView适配器充气成碎片?
My SavedActivity.java:Android 如何将RecycleView中的RecycleView适配器充气成碎片?,android,android-studio,android-fragments,android-recyclerview,layout-inflater,Android,Android Studio,Android Fragments,Android Recyclerview,Layout Inflater,My SavedActivity.java: public class SavedActivity extends Fragment { private static final String MyApp = "/MyApp"; RecyclerView RecyclerViewMediaList; LinearLayoutManager mLinearLayoutManager; public SavedActivity() { // Required empty public con
public class SavedActivity extends Fragment {
private static final String MyApp = "/MyApp";
RecyclerView RecyclerViewMediaList;
LinearLayoutManager mLinearLayoutManager;
public SavedActivity() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View inflatedView = inflater.inflate(R.layout.activity_saved, container, false);
RecyclerViewMediaList = (RecyclerView)container.findViewById(R.id.recycler_View);
adaptRecyclerView();
return inflatedView;
private ArrayList<File> getListFiles(File parentDir) {
ArrayList<File> inFiles = new ArrayList<>();
File[] files;
files = parentDir.listFiles();
if (files != null) {
for (File file : files) {
if (file.getName().endsWith(".jpg"))
{
if (!inFiles.contains(file))
inFiles.add(file);
}
}
}
return inFiles;
}
public void adaptRecyclerView(){
mLinearLayoutManager = new LinearLayoutManager(getContext());
RecyclerViewMediaList.setLayoutManager(mLinearLayoutManager);
RecyclerViewAdapterSaved recyclerViewMediaAdapter = new RecyclerViewAdapterSaved(this.getListFiles(new File(Environment.getExternalStorageDirectory().toString()+ MyApp)), getActivity());
RecyclerViewMediaList.setAdapter(recyclerViewMediaAdapter);
}
My RecycleServiceAdapterSaved.java:
public class RecyclerViewAdapterSaved extends RecyclerView.Adapter<RecyclerViewAdapterSaved.FileHolder> {
private ArrayList<File> filesList;
Activity activity;
public RecyclerViewAdapterSaved(ArrayList<File> filesList, Activity activity)
{
this.filesList = filesList;
this.activity = activity;
}
@Override
public RecyclerViewAdapterSaved.FileHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflatedView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_adapter_saved, parent, true);
return new FileHolder(inflatedView);
}
@Override
public void onBindViewHolder(final RecyclerViewAdapterSaved.FileHolder holder, final int position) {
final File currentFile = filesList.get(position);
showImages(currentFile,holder,position);
public void showImages(final File currentFile, final RecyclerViewAdapterSaved.FileHolder holder, final int position){
holder.cardviewImageViewSaved.setVisibility(View.VISIBLE);
Bitmap myBitmap = BitmapFactory.decodeFile(currentFile.getAbsolutePath());
holder.imageViewSaved.setImageBitmap(myBitmap);
}
}
我正在尝试在activity_saved.xml中提供的RecyclerView中膨胀recycler_view_adapter_saved.xml。当我尝试这样做时,代码运行良好,但RecyclerView中没有视图。上述代码是否正确膨胀布局?或者是否有其他方法?更改视图膨胀视图=LayoutInflater.fromparent.getContext.inflateR.layout.recycler\u视图\u适配器\u已保存,父级,false;它正在另一个片段中显示输出。尝试此操作,您必须在onCreateView方法上返回将在此片段上膨胀的视图
在你的取景器里试试这个
View inflatedView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_adapter_saved, parent, false);
现在它正在显示图像,但不是在FragmentSavedActivity.java中。它正在另一个FragmentAvailable.javaWhere is Available.java中显示?它与SavedActivity有什么关系?
View inflatedView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_adapter_saved, parent, false);