android l button 动画,android-从动态视图识别按钮

我假设您在点击处理中使用了按钮标签.为了保留标签数据并在按钮之间添加所需的接线,您可以创建一个可用作标签的数据结构:

static class ButtonTag {

String buttonType;

Button partner;

ButtonTag(String type, Button button) {

buttonType = type;

partner = button;

}

}

然后,您可以重新组织您的设置代码:

for(int i = 1; i <= 2 ; i++) {

Button button1 = new Button(this);

button1.setId(i);

layout.addView(button1);

Button button2 = new Button(this);

button2.setId(i);

button2.setEnabled(false);

button1.setTag(new ButtonTag("age", button2));

button2.setTag(new ButtonTag("country", button1));

layout.addView(button2);

}

单击处理显然将需要更改,以将getTag()强制转换为ButtonTag而不是String.

如果不需要“年龄”和“国家”信息来区分按钮类型,只需将每个按钮设置为另一个的标签即可.

编辑:

对于后一种方案,这是在点击侦听器中使用它的方式:

public void onClick(View v) {

Object tag = v.getTag();

if (tag instanceof Button) {

Button btn = (Button) tag;

btn.setEnabled(true);

v.setEnabled(false);

}

}

如果出于其他原因,您需要标记的“年龄”和“国家/地区”部分,则代码将略有不同:

public void onClick(View v) {

Object tag = v.getTag();

if (tag instanceof ButtonTag) {

ButtonTag bTag = (ButtonTag) tag;

bTag.partner.setEnabled(true);

v.setEnabled(false);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值