Android Studio
[Android Studio] Adapter.java 사용하기
처카푸
2024. 6. 10. 18:02
Adapter 사용하기
Adapter 패키지 만들고,
안에 Adapter.java 파일을 만들기
1. 뷰 홀더 클래스를 만든다.
- row.xml 파일과 이어주고, 변수 이름 저장하는 곳
// 1. 뷰 홀더 클래스 만든다
public class ViewHolder extends RecyclerView.ViewHolder {
TextView txtName;
TextView txtAge;
TextView txtSalary;
ImageView imgDelete;
public ViewHolder(@NonNull View itemView) {
super(itemView);
txtName = itemView.findViewById(R.id.txtName);
txtAge = itemView.findViewById(R.id.txtAge);
txtSalary = itemView.findViewById(R.id.txtSalary);
imgDelete = itemView.findViewById(R.id.imgDelete);
}
}
2. RecyclerView.Adapter 상속받고, ViewHolder를 세팅한다.
extends RecyclerView.Adapter<EmployerAdapter.ViewHolder>
3. 빨간 줄 생기면, 구현할 메서드를 오버라이딩 해준다.

4. 어뎁터 클래스의 멤버 변수 만든다.
- 액티비티에서 데이터를 받을 context 변수 만들기
- 데이터를 받아서 저장할 어레이리스트 변수 만들기
// 4. 멤버변수 만든다.
Context context;
ArrayList<Employer> employerArrayList;
5. 생성자 만들기. (디폴트 생성자는 해도 되고, 안 해도 된다.)


6. 아래 3개의 함수를 구현한다.
// 6. 아래 3개 메소드를 모두 구현한다.
@NonNull
@Override
// 어뎁터 클래스와 XML파일 연결
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.employer_row, parent, false);
return new EmployerAdapter.ViewHolder(view);
}
@Override
// XML 파일에서 데이터 보여주는 부분 설정
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Employer employer = employerArrayList.get(position);
// 금액 데이터 콤마 넣어주기
DecimalFormat df = new DecimalFormat("###,###");
String strSalary = df.format(employer.salary);
holder.txtName.setText(employer.name);
holder.txtAge.setText("나이 : " + employer.age + " 세");
holder.txtSalary.setText("연봉 : $" + strSalary);
}
@Override
// 데이터 개수만큼
public int getItemCount() {
return employerArrayList.size();
}