2

各月のヘッダー (月) と画像を持つグリッド ビューを実装しています。基本アダプターを実装しようとしていますが、うまくいかないようです。

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 を実行しないことです (シンプルおよびヘッダー)。次に頭に浮かぶのは、特定の画像にヘッダーを設定するにはどうすればよいかということです。画像の URL の配列リストと、ヘッダー (月) 用の配列リストがあります。私はすでに4日間費やして解決策を見つけることができなかったので、私を助けてください.

4

1 に答える 1