[Android] μλλ‘μ΄λ - RecyclerView Adapterμμ μλ‘μ΄ μ‘ν°λΉν° μ€ννλ λ°©λ²(Context)
μ½ν
μ€νΈ(Context)λ μλλ‘μ΄λ μ ν리μΌμ΄μ
μ μ μ μ 보μ μ κ·Όν μ μλ μΈν°νμ΄μ€μ΄λ€.
μλλ‘μ΄λ μ ν리μΌμ΄μ
μ μ‘ν°λΉν°(Activity), μλΉμ€(Service), μ΄ν리μΌμ΄μ
(Application) λ±μ μ»΄ν¬λνΈλ‘ ꡬμ±λλ€.
μ΄λ¬ν μ»΄ν¬λνΈλ€μ λͺ¨λ μ½ν
μ€νΈλ₯Ό κ°μ§κ³ μμΌλ©°, μ½ν
μ€νΈλ₯Ό ν΅ν΄ 리μμ€, ν΄λμ€, μ± νκ²½ μ 보 λ±μ μ κ·Όν μ μλ€.
μ΄λν°(Adapter) ν΄λμ€λ 컨ν
μ€νΈμ μ§μ μ κ·Όν μ μμ§λ§, μμ±μλ₯Ό ν΅ν΄ μ½ν
μ€νΈλ₯Ό μ λ¬λ°μ μ μλ€.
μ£Όλ‘ μ΄λν°λ μ‘ν°λΉν°(Activity)λ 컨ν
μ€νΈλ₯Ό νμλ‘ νλ λ€λ₯Έ μλλ‘μ΄λ μ»΄ν¬λνΈλ‘λΆν° μμ±μλ₯Ό ν΅ν΄ μ½ν
μ€νΈλ₯Ό μ λ¬λ°μ μ¬μ©νλ€.
1. Adapter ν΄λμ€ λ΄ λ©€λ²λ³μ
public class PostAdapter extends RecyclerView.Adapter<PostAdapter.ViewHolder> {
Context context;
ArrayList<Post> postArrayList;
}
2. onCreateViewHolder μ€λ²λΌμ΄λ© ν¨μ μμ±
@NonNull
@Override
public PostAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.post_row, parent, false);
return new PostAdapter.ViewHolder(view);
}
3. MainActivity νλ©΄ νμ λΆλΆ recyclerview adapter
//νλ©΄μ νμ.
adapter = new PostAdapter(MainActivity.this, postArrayList);
recyclerView.setAdapter(adapter);
4. Adapter ν΄λμ€μ μμ±μ μμ±
public class PostAdapter extends RecyclerView.Adapter<PostAdapter.ViewHolder> {
Context context;
ArrayList<Post> postArrayList;
public PostAdapter(Context context, ArrayList<Post> postArrayList){
this.context = context;
this.postArrayList = postArrayList;
}
}