简体   繁体   中英

I cannot use my arraylist in class fragment

I tried to use arraylist in fragment my arraylist not work in fragment class. please help me fix this before I use this code in main activity, and then I added menu fragment I move this code to this fragment

and then my arraylist get error

this error " 'RelativeLayout(anroid.content.Context)' in 'android.widget.RelativeLayout' cannot be applied to '(com.cupaxxhd.mysurah.HomeFragment)' "

and this " 'MyAdapter(android.content.Context, java.util.Arraylist)' in 'com.cupaxxhd.mysurah.Myadapter' cannot be applied to '(com.cupaxxhd.mysurah.HomeFragment, java.util.Arraylist)'

public class HomeFragment extends Fragment {

    RecyclerView mRecyclerView;
    MyAdapter myAdapter;

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

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


        mRecyclerView = v.findViewById(R.id.recyclerView);
        mRecyclerView.setLayoutManager(new RelativeLayout(this)); 

        myAdapter = new MyAdapter(this, getMyList());
        mRecyclerView.setAdapter(myAdapter);

        return v;
    }

    private ArrayList<Model> getMyList(){

        ArrayList<Model> models = new ArrayList<>();

        Model m = new Model();
        m.setTitle("Al-Lahab");
        m.setDescription("Surah Al-Lahab adalah surat ke-111 dalam Al-Qur'an.");
        m.setDetails("تَبَّتْ يَدَا أَبِي لَهَبٍ وَتَبّ\n"     
        );

        m.setImg(R.drawable.al_lahab);
        models.add(m);

        return  models;
    }

You need to pass Context instead of fragment instance and use LayoutManager instead of RelativeLayout. Like this:

mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

new MyAdapter(getActivity(), getMyList());

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM