如何在Android中向GridView添加文本

如何在Android中向GridView添加文本,android,gridview,Android,Gridview,我正在尝试使用一些GridView,但我不知道如何在图像下面添加一些文本。我为适配器尝试了以下代码,但不起作用: public class ImageAdapterForGridView extends BaseAdapter { private Context mContext; public ImageAdapterForGridView(Context c) { mContext = c; } public int getCount()

我正在尝试使用一些GridView,但我不知道如何在图像下面添加一些文本。我为适配器尝试了以下代码,但不起作用:

public class ImageAdapterForGridView extends BaseAdapter {

    private Context mContext;

    public ImageAdapterForGridView(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        TextView textView = null;
        if (convertView == null) {  // if it's not recycled, initialize some attributes

            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(250, 250));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
            textView = new TextView(mContext);
            textView.setLayoutParams(new GridView.LayoutParams(100, 100));
            textView.setPadding(8,8,8,8);
        } else {
            imageView = (ImageView) convertView;
            //textView = (TextView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        textView.setText(mThumbTexts[position]);
        return imageView;
    }

  /*  public TextView getTextView(int position, TextView convertView, ViewGroup parent){
        TextView textView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            textView = new TextView(mContext);
            textView.setLayoutParams(new GridView.LayoutParams(100, 100));
            textView.setPadding(8,8,8,8);
        } else {
            textView = convertView;
        }
        textView.setText(mThumbTexts[position]);
        return textView;
    }*/

    // references to our images
    private Integer[] mThumbIds = {
            R.drawable.ic_facebook, R.drawable.ic_flickr,
            R.drawable.ic_gmail, R.drawable.ic_linkedin,
            R.drawable.ic_picasa, R.drawable.ic_myspace,
            R.drawable.ic_rss, R.drawable.ic_skype,
            R.drawable.ic_tuenti, R.drawable.ic_twitter,
            R.drawable.ic_windowslive, R.drawable.ic_vimeo,
            R.drawable.ic_yahoo, R.drawable.otro_32,
    };

    private String[] mThumbTexts = {
            "Facebook", "Flickr", "Gmail", "LinkedIn", "Picasa", "Myspace", "RSS", "Skype", "Tuenti",
            "Twitter", "WindowsLive", "Vimeo", "Yahoo", "Otros"
    };
}
你知道我怎样才能像添加imageView一样添加文本视图吗


非常感谢您的帮助:)

如果您只需要带标签的图像,您可以选择复合绘图。在Android中,文本视图可以有一个与之关联的图像。您可以通过XML中的或通过编程实现这一点。查看我对这个问题的回答,了解如何实现这一点的更多详细信息:使用gridview的实际示例。

getView
方法中,您将返回
imageView
并尝试将您的
imageView
TextView
添加到
线性布局中,然后返回该布局

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
...
layout.addView(imageView);
layout.addView(textView);
...
return layout;

你在这里搞砸了,我们在get view方法中不返回一个特定的视图,我们返回一个被膨胀为视图的布局,在这个布局中,ImageView和TextView是被添加的,你是对的。我正在用Android编程一周。基础知识非常重要,伙计,首先你应该弄清楚你的基础知识,然后再进行开发,也许会学习一些著名的教程或其他东西。我知道基础知识很重要,但对我来说不太清楚,有很多东西。是的,Android非常广泛,但是要不断学习,你很快就会掌握它;)非常感谢:)这样对我很有效:)即使我真的不知道什么时候调用getView,它仍然有效:)如果它解决了您的问题,请接受我的答案!:)