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();
}
'Android Studio' 카테고리의 다른 글
[Android Studio] INTERNET 권한 설정하기 (0) | 2024.06.11 |
---|---|
[Android Studio] JSON 데이터 파싱 방법 (0) | 2024.06.11 |
[Android Studio] 네트워크 라이브러리 _ Volley (4) | 2024.06.10 |
[Android Studio] 객체 직렬화 (0) | 2024.06.10 |
[Android Studio] 데이터 파일(앱 내 저장소)로 저장하여 관리하는 방법 _ SharedPreferences (0) | 2024.06.07 |