2
헤더 (월)와 매월 이미지가있는 그리드 뷰를 구현하고 있습니다. 기본 어댑터를 구현하려고하는데 작동하지 않는 것 같습니다.StickyGridHeader 예제
GridView stickyGrid = (GridView) findViewById(R.id.show_gridview);
GridViewAdapter adapter = new GridViewAdapter(getBaseContext());
stickyGrid.setAdapter(adapter);
자료 어댑터 구현 모든
public class GridViewAdapter extends BaseAdapter implements
StickyGridHeadersBaseAdapter {
private LayoutInflater inflater;
public GridViewAdapter(Context context) {
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
imageUrls.size();
return 0;
}
@Override
public Object getItem(int position) {
return imageUrls.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView holder;
if (convertView == null) {
holder = (ImageView) inflater.inflate(R.layout.item_grid,
parent, false);
} else {
holder = (ImageView) convertView;
}
imageLoader.displayImage(Util.BASE_URL + imageUrls.get(position),
holder, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
spinner.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason failReason) {
String message = null;
switch (failReason.getType()) {
case IO_ERROR:
message = "Input/Output error";
break;
case DECODING_ERROR:
message = "Image can't be decoded";
break;
case NETWORK_DENIED:
message = "Downloads are denied";
break;
case OUT_OF_MEMORY:
message = "Out Of Memory error";
break;
case UNKNOWN:
message = "Unknown error";
break;
}
Toast.makeText(getBaseContext(), message,
Toast.LENGTH_SHORT).show();
spinner.setVisibility(View.GONE);
}
@Override
public void onLoadingComplete(String imageUri,
View view, Bitmap loadedImage) {
spinner.setVisibility(View.GONE);
}
});
return holder;
}
@Override
public int getCountForHeader(int arg0) {
return datesHeader.size();
}
@Override
public View getHeaderView(int position, View convertView,
ViewGroup parent) {
TextView holder;
if (convertView == null) {
holder = (TextView) inflater.inflate(R.layout.date_header,
parent, false);
} else {
holder = (TextView) convertView;
}
holder.setText(datesHeader.get(position));
return holder;
}
@Override
public int getNumHeaders() {
// TODO Auto-generated method stub
return 0;
}
}
첫째, 문제가 그들의 (단순 및 헤더)에 대한의 getView를 실행하지 않습니다. 다음으로 내 머리 속에는 특정 이미지에 대해 헤더를 설정할 수있는 방법이 있습니다. 나는 헤더의 배열 목록을 가지고있다. (몇 달). 이미 4 일을 보냈으므로 아무런 해결책도 찾을 수 없기 때문에 도와주세요.
첫 번째로'getCount()'**는 0을 반환합니다 ** ** 당신은 무엇을 기대합니까? ... GridView는 Adapter에게 "우리는 얼마나 많은 요소를 가지고 있습니까?"라고 묻습니다. 어댑터는 말합니다 : "0"GridView : "알았어, 끝났어 ..." – Selvin
오 하느님. 정말 문제가 됐다는 사실을 유감스럽게 생각합니다. 나타나서 ... 나는 마지막으로 미안하다. – Hasandroid
감사합니다. – Hasandroid