RecyclerView во фрагменте

Всем привет! Не получается добавить список элементов для RecyclerView, который в свою очередь находится во фрагменте. Приложение запускается, но во фрагменте ничего не появляется. В произвольном порядке накидал список по-быстрому таким способом. Пробовал создавать отдельно класс DataUtils, но тогда не получается вытащить оттуда объект этого списка.

public class MusicFragment extends Fragment {

private static final String TAG = "MusicFragment";
//public ArrayList<String> mImgNames = new ArrayList<>();
//public ArrayList<String> mImgUrls = new ArrayList<>();

private List<MusicItem> musicItems = new ArrayList<>();

// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;

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

/**
 * Use this factory method to create a new instance of
 * this fragment using the provided parameters.
 *
 * @param param1 Parameter 1.
 * @param param2 Parameter 2.
 * @return A new instance of fragment MusicFragment.
 */
// TODO: Rename and change types and number of parameters
public static MusicFragment newInstance(String param1, String param2) {
    MusicFragment fragment = new MusicFragment();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    }
    Log.d(TAG, "onCreate: sterted.");
    initImageBitmaps();
}

private void initImageBitmaps() {

    Log.d(TAG, "initImageBitmaps: preparing bitmaps.");

    musicItems.add(new MusicItem(
            "Звуки природы", "https://images.app.goo.gl/6ax4vuTfiYASqhZh8.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки дождя", "https://images.app.goo.gl/XeDqGhBygmPs7MSz8.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки леса", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки птиц", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки урагана", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки волн", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки шелеста листьев", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки прибоя", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
    musicItems.add(new MusicItem(
            "Звуки снега", "https://images.app.goo.gl/Qxb8BHrJgMB24ww29.jpg"
    ));
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    //return inflater.inflate(R.layout.fragment_music, container, false);

    View view = inflater.inflate(R.layout.fragment_music, container, false);
    RecyclerView recyclerView = view.findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    //RecyclerViewAdapter adapter = new RecyclerViewAdapter(getActivity(), mImgNames, mImgUrls);
    MusicAdapter adapter = new MusicAdapter(getActivity(), musicItems);
    recyclerView.setAdapter(adapter);
    return view;

}

Отправлю написанный мной адаптер

public class MusicAdapter extends RecyclerView.Adapter<MusicAdapter.ViewHolder> {

private static final String TAG = "RecyclerViewAdapter";

private List<MusicItem> musicItems= new ArrayList<>();
private Context mContext;

public MusicAdapter(List<MusicItem> musicItems, Context mContext) {
    this.musicItems = musicItems;
    this.mContext = mContext;
}

public MusicAdapter(RecyclerView recyclerView) {
}

public MusicAdapter(FragmentActivity activity, List<MusicItem> musicItems) {
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.music_list_item, parent, false);
    ViewHolder holder = new ViewHolder(view);
    return holder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
    Log.d(TAG, "onBindViewHolder: called");

    Glide.with(mContext)
            .asBitmap()
            .load(musicItems.get(position))
            .into(holder.imageView);

    holder.imgName.setText((CharSequence) musicItems.get(position));

    holder.relativeLayoutListItem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d(TAG, "onClick: clicked on: " + musicItems.get(position));

            Toast.makeText(mContext, (CharSequence) musicItems.get(position), Toast.LENGTH_SHORT).show();
        }
    });

}

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

public class ViewHolder extends RecyclerView.ViewHolder {

    ImageView imageView;
    TextView imgName;
    RelativeLayout relativeLayoutListItem;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);
        imageView = itemView.findViewById(R.id.item_image);
        imgName = itemView.findViewById(R.id.item_image_name);
        relativeLayoutListItem = itemView.findViewById(R.id.relativeLayout_list_item);
    }
}

}


Ответы (0 шт):