액티비티에서 버튼 클릭을 통해 리사이클러 뷰의 내용을 한번에 전달 하려고 합니다.
public Damage_VO getItem(int position) {
return arrayList.get(position);
}
이런식으로 어댑터에 선언을 해두고,
액티비티에서 for 문으로 Damage_VO 의 리스트에서 값을 따로 저장하고있는데
여기서 발생한 문제가 리스트의 갯수가 많아지면(스크롤이 생겨 화면을 벗어날 정도의 개수)
position 값을 제대로 불러오지 못하고 있습니다. 재사용 문제 때문인것 같아
@Override
public int getItemViewType(int position) {
return position;
}
를 어댑터에 추가해 주었고, 스크롤을 맨 아래까지 한번 내린 뒤에 처리를 하면
삭제, 전달 등의 기능이 잘 작동을 하는데 그렇지 않을 때 자꾸 오류가 납니다.
스크롤을 해서 화면에 한번은 띄워야 position 값이 제대로 저장 되는 것 같은데,
스크롤을 하지 않고서 처음부터 전체 리스트의 position 값을 셋 시킬 수는 없을까요?
화면에서 리스트의 요소를 저장하는 함수입니다.
private void getListView() {
for (int i = 0; i < pihae_list.size(); i++) {
List<String> list = new ArrayList<>();
Damage_VO item = new Damage_VO();
item = mAdapter1.getItem(i);
String regist_gubun = item.getGubun().toString();
String regist_sulbi_gubun = item.getSulbiGubun().toString();
// 중략
}
}
직접 수동으로 스크롤을 하지않고, 처음부터 position 값을 할당할 수 있는 방법이 있을까요?
(글쓰기 길이가 넘어가서 코드 전문을 첨부 시키지 못해 죄송합니다)