如何让安卓GridView中每个组件既包括图片,也包括textview和button?

网格列表中每一项都是由一张图片和一段文字以及一个按钮组成的,如何实现?... 网格列表中每一项都是由一张图片和一段文字以及一个按钮组成的,如何实现? 展开
 我来答
MiuEugene
2014-02-28 · 超过33用户采纳过TA的回答
知道答主
回答量:88
采纳率:45%
帮助的人:44.4万
展开全部

自定义gridview


    static class ViewHolder 
    { 
        public ImageView image; 
        public TextView title;
        public TextView time;
    }



import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class GridItemAdapter extends BaseAdapter
{
    private LayoutInflater inflater; 
    private List<GridItem> gridItemList; 
 
    public GridItemAdapter(String[] titles, int[] images,String[] description, Context context) 
    { 
        super(); 
        gridItemList = new ArrayList<GridItem>(); 
        inflater = LayoutInflater.from(context); 
        for (int i = 0; i < images.length; i++) 
        { 
            GridItem picture = new GridItem(titles[i], images[i],description[i]); 
            gridItemList.add(picture); 
        } 
    } 
    @Override
    public int getCount( )
    {
        if (null != gridItemList) 
        { 
            return gridItemList.size(); 
        } 
        else
        { 
            return 0; 
        } 
    }
    @Override
    public Object getItem( int position )
    {
        return gridItemList.get(position); 
    }
    @Override
    public long getItemId( int position )
    {
        return position; 
    }
    @Override
    public View getView( int position, View convertView, ViewGroup parent )
    {
        ViewHolder viewHolder; 
        if (convertView == null) 
        { 
            convertView = inflater.inflate(R.layout.grid_item, null); 
            viewHolder = new ViewHolder(); 
            viewHolder.title = (TextView) convertView.findViewById(R.id.title); 
            viewHolder.image = (ImageView) convertView.findViewById(R.id.image);
            viewHolder.time = (TextView) convertView.findViewById(R.id.description); 
            convertView.setTag(viewHolder); 
        } else
        { 
            viewHolder = (ViewHolder) convertView.getTag(); 
        } 
        viewHolder.title.setText(gridItemList.get(position).getTitle());
        viewHolder.time.setText(gridItemList.get(position).getTime()); 
        viewHolder.image.setImageResource(gridItemList.get(position).getImageId()); 
        return convertView; 
    }

然后调用


 gridView = (GridView) findViewById(R.id.gridview);   
        GridItemAdapter adapter = new GridItemAdapter(titles, images,description,this);   
        gridView.setAdapter(adapter);
huibian2008
2014-02-24 · TA获得超过184个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:145万
展开全部
自定义Gridview的适配器adapter,你可以搜一下,这个不是三言两语说得清的,基本的思想就是定义一个基本的xml布局,然后用自定义的adapter去加载显示出来就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aner47
2015-09-11 · TA获得超过178个赞
知道答主
回答量:175
采纳率:0%
帮助的人:31万
展开全部
继承BaseAdapter后在layout文件中可以随意编写布局和控件,你还是多找找资料看看吧,这网上一大把,就不给你复制了。随便给你找个http://blog.csdn.net/leichelle/article/details/7951290
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
司空福06q
2015-10-30 · 超过24用户采纳过TA的回答
知道答主
回答量:101
采纳率:50%
帮助的人:29.2万
展开全部
view嵌套,把imageview,textview,button放在一个布局view里面,再把这个view作为子view放入gridview
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WG520UO
2014-02-25
知道答主
回答量:19
采纳率:0%
帮助的人:15.8万
展开全部
这就要设计GridView 的Item了,将Item设计成一个图片、文字、按钮的布局就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式