自定义GrildView实现单选功能

本文介绍了一种自定义Dialog的方法,并结合GridView实现单选功能。通过实例展示了如何设置Dialog的大小、绑定数据源及实现点击颜色切换效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看实现功能截图,这是一个自定义Dialog,并且里面内容由GrildView 绑定数据源,实现类似单选功能。

首先自定义Dialog,绑定数据源

自定义Dialog弹出框大小方法

最主要实现的就是点击颜色切换的功能,默认GrildView的每一项都是蓝色背景,当点击时候切换成红色。这里缓存了一个view,每次点击给这个view重新赋值,改变颜色

数据源Adapter代码:

public class ZheKouAdapter extends BaseAdapter {

  private Context context;
  private List%26lt;ZheKouMuBan%26gt; ZheKouList;
  protected LayoutInflater mLayoutInflater;

  public ZheKouAdapter(Context context, List%26lt;ZheKouMuBan%26gt; ZheKouList) {
    this.context = context;
    this.ZheKouList = ZheKouList;
    mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  }

  @Override
  public int getCount() {
    // TODO Auto-generated method stub
    return ZheKouList.size();
  }

  @Override
  public Object getItem(int position) {
    // TODO Auto-generated method stub
    return ZheKouList.get(position);
  }

  @Override
  public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view = convertView;
    if (view == null) {
      view = mLayoutInflater.inflate(R.layout.mul_desk_select, null);
      TextView txtname = (TextView)view.findViewById(R.id.mul_deskname);
      ZheKouMuBan zkmb = ZheKouList.get(position);
      txtname.setText(zkmb.ZKMB_Name);
      txtname.setTextColor(Color.WHITE);
      txtname.setGravity(Gravity.CENTER);
    }
    return view;
  }
}

%26nbsp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值