Android 我正在尝试使用GridLayoutManager和自定义适配器创建一个RecyclerView

Android 我正在尝试使用GridLayoutManager和自定义适配器创建一个RecyclerView,android,Android,我正在尝试使用GridLayoutManager和自定义适配器创建RecyclerView,但图像没有显示。我被卡住了,不知道怎么了 public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.Mo`viesHolder> { Context context; ArrayList<String> mImages; ArrayList<String> mTi

我正在尝试使用
GridLayoutManager
和自定义
适配器创建
RecyclerView
,但图像没有显示。我被卡住了,不知道怎么了

public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.Mo`viesHolder> {
    Context context;

    ArrayList<String> mImages;
    ArrayList<String> mTitle ;
    ArrayList<String> mReleaseDate;
    ArrayList<String> mSynopsis;
    ArrayList<Double> mAverageRating;

    public MoviesAdapter(Context context, ArrayList<String> mImages, ArrayList<String> mTitle, ArrayList<String> mReleaseDate, ArrayList<String> mSynopsis, ArrayList<Double> mAverageRating) {
        this.context = context;
        this.mImages = mImages;
        this.mTitle = mTitle;
        this.mReleaseDate = mReleaseDate;
        this.mSynopsis = mSynopsis;
        this.mAverageRating = mAverageRating;
    }

    @NonNull
    @Override
    public MoviesHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {


        LayoutInflater myInflater = LayoutInflater.from(context);
        View movieView = myInflater.inflate(R.layout.movies_layout,parent,false);


        return new MoviesHolder(movieView);
    }

    @Override
    public void onBindViewHolder(@NonNull MoviesHolder holder, final int position) {


        Glide.with(context)
             .asBitmap()
             .load(mImages.get(position))
             .into(holder.movieImage);


        holder.parentLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(v.getContext(),MovieDetailsActivity.class);
                intent.putExtra("movie_poster",mImages);
                intent.putExtra("movie_title",mTitle);
                context.startActivity(intent);


            }
        });
    }

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

    public class MoviesHolder extends RecyclerView.ViewHolder {
        ImageView movieImage;
        RelativeLayout parentLayout;
        String movieTitle;
        String movieReleaseDate;
        String movieSynopsis;
        double movieAverageRating;

        public MoviesHolder(@NonNull View itemView) {
            super(itemView);

         movieImage =  itemView.findViewById(R.id.movie_img);
         parentLayout = itemView.findViewById(R.id.parent_layout);

        }
    }
}
公共类MoviesAdapter扩展了RecyclerView.Adapter{ 语境; 阵列列表模拟图像; ArrayList mTitle; ArrayList mReleaseDate; ArrayList mSynopsis; ArrayList mAverageRating; 公共电影适配器(上下文上下文、ArrayList mImages、ArrayList mTitle、ArrayList mReleaseDate、ArrayList mSynopsis、ArrayList mAverageRating){ this.context=上下文; this.mImages=mImages; this.mTitle=mTitle; this.mReleaseDate=mReleaseDate; this.mSynopsis=mSynopsis; this.mAverageRating=mAverageRating; } @非空 @凌驾 public MoviesHolder onCreateViewHolder(@NonNull ViewGroup父级,int viewType){ LayoutInflater myInflater=LayoutInflater.from(上下文); View movieView=myInflater.inflate(R.layout.movies\u layout,parent,false); 归还新的电影持有人(电影视图); } @凌驾 BindViewHolder上的公共无效(@NonNull MoviesHolder,最终整数位置){ 带(上下文)滑动 .asBitmap() .加载(图像获取(位置)) .进入(电影图像持有者); holder.parentLayout.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ Intent Intent=newintent(v.getContext(),MovieDetailsActivity.class); intent.putExtra(“电影海报”,影象); intent.putExtra(“电影名称”,mTitle); 背景。开始触觉(意图); } }); } @凌驾 public int getItemCount(){ 返回mImages.size(); } 公共类MoviesHolder扩展了RecyclerView.ViewHolder{ ImageView电影图像; 相对亲子布局; 弦乐电影; 字符串movieReleaseDate; 弦动综合征; 双电影平均; 公共MoviesHolder(@NonNull View itemView){ 超级(项目视图); movieImage=itemView.findviewbyd(R.id.movie\u img); parentLayout=itemView.findviewbyd(R.id.parent\u布局); } } }
这是我的主要活动

public class MainActivity extends AppCompatActivity {

    RecyclerView moviesRecycler;
    private ArrayList<String> mMoviePoster = new ArrayList<>();
    private ArrayList<String> mMovieTitle = new ArrayList<>();
    private ArrayList<String> mMovieReleaseDate = new ArrayList<>();
    private ArrayList<String> mMovieSynopsis = new ArrayList<>();
    private ArrayList<Double> mMovieAverageRating = new ArrayList<>();


    MoviesAdapter myMoviesAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initMovieDetails();


        moviesRecycler = findViewById(R.id.moviesRecycler);

        myMoviesAdapter = new MoviesAdapter(this,mMoviePoster,mMovieTitle,mMovieReleaseDate,mMovieSynopsis,mMovieAverageRating);
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this,2);

        moviesRecycler.setAdapter(myMoviesAdapter);
        moviesRecycler.setLayoutManager(gridLayoutManager);


    }

    private void initMovieDetails() {
        mMoviePoster.add("https://unsplash.com/photos/NhUJuPUeRvc");
        mMovieTitle.add("Parasite");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(8.6);
        mMovieSynopsis.add("A poor family, the Kims, con their way into becoming the servants of a rich family, the Parks. But their easy life gets complicated when their deception is threatened with exposure.\n");

        mMoviePoster.add("https://www.imdb.com/title/tt8946378/mediaviewer/rm2569376769");
        mMovieTitle.add("Knives Out");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(8.0);
        mMovieSynopsis.add("A detective investigates the death of a patriarch of an eccentric, combative family.\n");

        mMoviePoster.add("https://www.imdb.com/title/tt1051906/mediaviewer/rm1847823873");
        mMovieTitle.add("The Invisible Man");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(7.6);
        mMovieSynopsis.add("When Cecilia's abusive ex takes his own life and leaves her his fortune, she suspects his death was a hoax. As a series of coincidences turn lethal, Cecilia works to prove that she is being hunted by someone nobody can see.\n");

        mMoviePoster.add("https://www.imdb.com/title/tt7286456/mediaviewer/rm3353122305");
        mMovieTitle.add("Joker");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(8.6);
        mMovieSynopsis.add("In Gotham City, mentally troubled comedian Arthur Fleck is disregarded and mistreated by society. He then embarks on a downward spiral of revolution and bloody crime. This path brings him face-to-face with his alter-ego: the Joker.\n");

        mMoviePoster.add("https://www.imdb.com/title/tt2584384/mediaviewer/rm3972044545");
        mMovieTitle.add("JoJo Rabbit");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(8.0);
        mMovieSynopsis.add("A young boy in Hitler's army finds out his mother is hiding a Jewish girl in their home.\n");

        mMoviePoster.add("https://www.imdb.com/title/tt8579674/mediaviewer/rm144738817");
        mMovieTitle.add("1917");
        mMovieReleaseDate.add("2019");
        mMovieAverageRating.add(8.4);
        mMovieSynopsis.add("April 6th, 1917. As a regiment assembles to wage war deep in enemy territory, two soldiers are assigned to race against time and deliver a message that will stop 1,600 men from walking straight into a deadly trap.\n");
    }
}
public类MainActivity扩展了AppCompatActivity{
电影回收商;
private ArrayList mMoviePoster=new ArrayList();
private ArrayList mMovieTitle=new ArrayList();
私有ArrayList mMovieReleaseDate=新ArrayList();
private ArrayList mmoviesympsis=new ArrayList();
private ArrayList mMovieAverageRating=new ArrayList();
MoviesAdapter我的MoviesAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initMovieDetails();
moviesRecycler=findViewById(R.id.moviesRecycler);
myMoviesAdapter=新的MoviesAdapter(此、mMoviePoster、mMovieTitle、mMovieReleaseDate、mmovieSymposis、mMovieAverageRating);
GridLayoutManager GridLayoutManager=新的GridLayoutManager(这个,2);
setAdapter(myMoviesAdapter);
setLayoutManager(gridLayoutManager);
}
私有电影详细信息(){
添加(“https://unsplash.com/photos/NhUJuPUeRvc");
名称。添加(“寄生虫”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(8.6);
mmoviesynosis.add(“一个贫穷的家庭,金家,通过欺骗成为一个富裕家庭的仆人,帕克斯。但是当他们的欺骗行为受到曝光的威胁时,他们的安逸生活变得复杂了。\n”);
添加(“https://www.imdb.com/title/tt8946378/mediaviewer/rm2569376769");
标题。添加(“切出”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(8.0);
mmoviesynosis.add(“一名侦探调查一个古怪好斗家庭的一位族长之死。\n”);
添加(“https://www.imdb.com/title/tt1051906/mediaviewer/rm1847823873");
添加(“隐形人”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(7.6);
mmoviesynosis.add(“当塞西莉亚的虐待前男友夺走了自己的生命,留给她自己的财产时,她怀疑他的死亡是一场骗局。随着一系列巧合变成致命事件,塞西莉亚努力证明她正在被一个谁也看不见的人追捕。\n”);
添加(“https://www.imdb.com/title/tt7286456/mediaviewer/rm3353122305");
添加(“小丑”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(8.6);
MMOVIESYMBOL.add(“在高谭市,有精神问题的喜剧演员亚瑟·弗莱克受到社会的漠视和虐待。然后,他开始了革命和血腥犯罪的恶性循环。这条道路让他与另一个自我:小丑面对面。\n”);
添加(“https://www.imdb.com/title/tt2584384/mediaviewer/rm3972044545");
添加(“JoJo兔”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(8.0);
mmoviesynosis.add(“希特勒军队中的一个小男孩发现他的母亲将一个犹太女孩藏在家中。\n”);
添加(“https://www.imdb.com/title/tt8579674/mediaviewer/rm144738817");
标题。添加(“1917”);
mMovieReleaseDate.添加(“2019”);
mMovieAverageRating.add(8.4);
MMOVIESYMBOL.add(“1917年4月6日,当一个团集结在敌方领土深处发动战争时,两名士兵被指派与时间赛跑,并传递一条信息,阻止1600人直接进入致命陷阱。\n”);
}
}

我认为您分配给Glide的URL有问题。这些李