안녕하세요.
핸드폰에 있는 연락처를 긁어와서 이름, 번호, 주소를 긁어와서 hashmap 배열에 저장하고 있는데요.
주소는 적혀있지 않은 경우가 있어서 주소가 있는 경우에는 해당 hashmap index에만
따로 put("address".. ) 로 저장을 했습니다.
예를들어 hash구조가
put("name", joe) put("phone", 0100..)
put("name", kim) put("phone", 0101..)
put("name", lee) put("phone", 0102..) put("address", "경기도 안양시..")
put("name", park) put("phone", 0103..)
이런식으로 돼 있는데요
recyclerview에 저장을 하게되면
joe 0101..
kim 0102..
lee 0103.. 경기도 안양시..
park 0104.. 경기도 안양시..
이런식으로 값이 나오네요...
로그는 제대로 찍히는데 리스트가 이상하게 나옵니다
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String name = contactsHashMap[position].get("name");
String phone = contactsHashMap[position].get("phone");
String address = contactsHashMap[position].get("address");
Log.d(TAG, position + " " + name);
Log.d(TAG, position + " " + phone);
holder.name.setText(name);
holder.phone.setText(phone);
if (address != null) {
Log.d(TAG, position + " " + address);
holder.address.setText(address);
}
Log.d(TAG, "===============================");
}
holder 인데요 어디가 잘못된걸까요?