You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android MaterialComponents Button如何通过代码动态修改app:icon属性

解决方法

你使用的是Material Components库的按钮控件,对应类为com.google.android.material.button.MaterialButton,而非系统原生Button,只需要修正两处代码即可:

  1. 修改ViewHolder内控件的声明类型
    把action字段的类型从Button改为MaterialButton:
// ViewHolder类内的声明
MaterialButton action;
  1. 调用对应API设置图标
    根据你存储的图标数据类型选择调用方法:
  • 若你存储的是drawable资源ID(如R.drawable.ic_round_xxx):
viewHolder.action.setText(list.get(position).label);
viewHolder.action.setIconResource(list.get(position).icon);
  • 若你存储的是Drawable实例对象:
viewHolder.action.setText(list.get(position).label);
viewHolder.action.setIcon(list.get(position).icon);

内容的提问来源于stack exchange,提问作者Nekomajin42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 02:21:02