"파이어스토어에 문서ID를 가져오는건 성공했는데"
라고 하셨으니, 화면에 보여주는 데이터에 문서ID를 저장해 놓으시고 아이템을 클릭하면 문서 ID를 알 수 있으므로,
이걸 가지고 처리하시면 됩니다. 코드로 만들면 대충 아래와 같이 될겁니다. 이미 관련 내용을 알고 계시니 해당 코드가 어떤 부분인지 금방 이해가 가시리라 생각합니다.
public class YourClass {
private final String id;
// 다른필드 추가
// Constructor, getter 추가
}
// Adapter 아이템 클릭용 리스너
interface ItemClickListener {
void onItemClicked(YourClass item);
}
// Adapter에 리스너 할당
adapter.setOnItemClickListener(item -> {
System.out.println(item.getId() + " clicked!!");
});
// FireStore 에서 데이터 가져오기
// Firebase의 success콜백에서
List<YourClass> items = new ArrayList<>();
for (... doc in documents) {
items.add(document.toObject(YourClass.class));
}
adapter.submitList(items);
참고로, 파이어베이스 문서의 toObject이라는 변환 함수가 존재하는데, 클래스에 id를 필드주고 이 함수를 사용하면, 자동으로 문서 ID를 해당 필드에 할당해 주었던 것 같아요.