0
예를 들어 마지막 셀의 높이를 300dp로 지정하고 싶습니다. 내 getView 메소드는 다음과 같습니다.getView의 ArrayAdapter에있는 setLayoutParams는 하나의 뷰에만 params를 설정해야합니다.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
if (rowView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(R.layout.item_card_list, parent, false);
}
if (position == getCount() - 1) {
ViewGroup.LayoutParams layoutParams = rowView.getLayoutParams();
layoutParams.height = 300;
rowView.setLayoutParams(layoutParams);
}
return rowView;
}
마지막 셀의 높이를 300dp로 지정합니다. 그것은 잘 작동합니다. 마지막 셀은 300dp 높이를 가지고 있습니다. 그러나 위로 스크롤하면 목록의 다른 많은 요소가 높이 300dp가된다는 사실이 나타납니다.
:보기가 재생되기 때문에 당신이
position == getCount() - 1
을 처리하지 않는 경우 당신은 같이해야 자신의 높이를 복원해야합니다. 정적 번호가 아닙니다. 순서는 계속 변경됩니다. 위치 1은 목록의 사각 지대에있을 수 있으며 2는 1보다 높고 3은 2보다 작습니다. 위치에 대한 보장이 없으며 스크롤 할 때마다 위치가 변경됩니다. –