在android中向自定义库视图添加说明

在android中向自定义库视图添加说明,android,custom-controls,gallery,Android,Custom Controls,Gallery,是否有人知道如何添加图像的名称或图像的描述,以便它也会得到每一个图像扔变化 我可以通过使用一个单独的文本视图并在适配器的getView()中扩展这个文本视图来实现这一点。但这并不高效。 所以请帮我找到另一条路 我的代码: **public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Vector<ListO

是否有人知道如何添加图像的名称或图像的描述,以便它也会得到每一个图像扔变化

我可以通过使用一个单独的文本视图并在适配器的getView()中扩展这个文本视图来实现这一点。但这并不高效。 所以请帮我找到另一条路

我的代码:

**public class ImageAdapter extends BaseAdapter {
    int mGalleryItemBackground;
    private Context mContext;
    private Vector<ListObjectWithTwoTextAndOneImage> data;
    public ImageAdapter(Context c,
            Vector<ListObjectWithTwoTextAndOneImage> d)
{
    super();
        mContext = c;
        data = d;

    }
    public int getCount() {
        return data.size();
    }
    public Object getItem(int position) {
        return position;
    }
    public long getItemId(int position) {
        **fishName.setText(data.get(position).getFirstItem());**
        return position;
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);

        imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
                PhotoGalleryGallery.this, data.get(position)
                        .getThumbNailImageUrl() + ".jpg"))); // TODO: change
        imageView.setLayoutParams(new Gallery.LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        // imageView.setBackgroundResource(mGalleryItemBackground);
        return imageView;
    }
}**
**公共类ImageAdapter扩展了BaseAdapter{
int mGalleryItemBackground;
私有上下文;
专用矢量数据;
公共ImageAdapter(上下文c,
向量d)
{
超级();
mContext=c;
数据=d;
}
public int getCount(){
返回data.size();
}
公共对象getItem(int位置){
返回位置;
}
公共长getItemId(int位置){
**fishName.setText(data.get(position.getFirstItem())**
返回位置;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
ImageView ImageView=新的ImageView(mContext);
imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
PhotoGalleryGallery.this,data.get(位置)
.getThumbNailImageUrl()+“.jpg”);//TODO:更改
imageView.setLayoutParams(新建Gallery.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
imageView.setScaleType(imageView.ScaleType.FIT_XY);
//setBackgroundResource(mGalleryItemBackground);
返回图像视图;
}
}**

提前谢谢

谢谢……我还得到了另一个备选解决方案。。 我刚刚在get Dynamics中创建了一个线性布局,然后添加了一个图像和文本视图

public View getView(int position, View convertView, ViewGroup parent) {

        LinearLayout layout = new LinearLayout(getApplicationContext());
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.setLayoutParams(new Gallery.LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));


        ImageView imageView = new ImageView(mContext);
        imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
                PhotoGalleryGallery.this, data.get(position)
                        .getThumbNailImageUrl() + ".jpg"))); // TODO: change

        if (Configuration.ORIENTATION_PORTRAIT==PhotoGalleryGallery.this.getResources().getConfiguration().orientation) {

            imageView.setLayoutParams(new Gallery.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);

            TextView tv = new TextView(mContext);
            tv.setText(data.get(position).getFirstItem());
            tv.setTextColor(Color.WHITE);
            tv.setTypeface(null, Typeface.BOLD);
            tv.setPadding(20, 20, 0, 5);
            tv.setMaxLines(2);
            tv.setMinLines(2);

            ImageView divider= new ImageView(mContext);
            divider.setBackgroundResource(R.drawable.devider);
            divider.setLayoutParams(new Gallery.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
            divider.setScaleType(ImageView.ScaleType.FIT_XY);

            TextView tv1 = new TextView(mContext);
            tv1.setText(data.get(position).getSecondItem());
            tv1.setTextColor(Color.WHITE);
            tv1.setTypeface(null, Typeface.BOLD);
            tv1.setPadding(20, 5, 0, 0);
            tv1.setMinLines(2);
            tv1.setMaxLines(2);

            layout.addView(imageView);
            layout.addView(tv);
            layout.addView(divider);
            layout.addView(tv1);

        } else {
            imageView.setLayoutParams(new Gallery.LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            layout.addView(imageView);

        }
        picPosition=position;

        return layout;
    }