RecyclerView를 사용하면서 ViewHolder 생성을 위해 layout inflater을 사용하는데 Root Layout의 android:layout_width="match_parent" 가 작동하지 않았습니다. 이상하게 wrap_content를 한 것 처럼 작동했습니다. DataBinding을 함께 사용하고 있었기 때문에 그때 사용했던 코드의 모습입니다.
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
ItemTestBinding binding = ItemTestBinding.inflate(inflater);
return new ViewHolder(binding.getRoot());
}
구글링을 해보니 LayoutInflater.inflate를 할 때 ViewGroup을 주면 해결된다고 합니다.
해결된 코드
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
ItemTestBinding binding = ItemTestBinding.inflate(inflater, parent, false);
return new ViewHolder(binding.getRoot());
}
'Android' 카테고리의 다른 글
[Android] Parent View가 clickable 일 때 SeekBar 버그(?) (0) | 2020.04.20 |
---|---|
[Android] animated-vector를 사용하고 싶을 때 (0) | 2020.04.07 |
[Android] findViewById가 귀찮을 때 (0) | 2020.02.21 |
[Android] View의 getLeft, getTop, getRight, getBottom 메서드 (0) | 2020.02.14 |
[Android] 앱 Background로 보내기 (0) | 2020.02.07 |