사용자 지정 어댑터와 함께 gridview를 사용하고 있습니다. 그리드의 각 항목에는 이미지보기와 체크 상자가 있지만 마지막 항목을 버튼으로 원합니다. Android - Gridview의 마지막 항목을 다른 방법으로 만드는 방법은 무엇입니까?
@Override
public int getCount() {
return thumbUrls.size()+1;
}
내가의 getView 한 여분의 시간이라고 할 getcount에서 +1을 반환
여기 내 코드입니다. 의 getView에서
: -
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
ViewHolder holder;
if(row==null)
{
row = layoutInflater.inflate(R.layout.griditem, parent, false);
holder = new ViewHolder();
holder.mainImage = (ImageView)row.findViewById(R.id.itemgrid);
holder.checkBox = (CheckBox)row.findViewById(R.id.itemselected);
row.setTag(holder);
}
else {
holder = (ViewHolder)row.getTag();
}
if (position==(thumbUrls.size()+1)) { //this is just to show what i am trying to do.
Button button = new Button(context);
return button;
}
else
{
setImageSize(holder.mainImage);
holder.mainImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
intent.putExtra("position", position);
intent.putStringArrayListExtra("MainUrls", mainUrls);
intent.putStringArrayListExtra("Thumbnails", thumbUrls);
context.startActivity(intent);
}
});
holder.checkBox.setOnCheckedChangeListener(null);
holder.checkBox.setTag(position);
holder.checkBox.setChecked(positions.contains(thumbUrls.get(position)));
holder.checkBox.setOnCheckedChangeListener(this);
UrlImageViewHelper.setUrlDrawable(holder.mainImage, thumbUrls.get(position), R.drawable.extras_load);
}
return row;
}
버튼을 반환하면 다음 getView의 태그에 ViewHolder가 없으므로이 뷰에 액세스 할 때 오류가 발생합니다. – njzk2