android-从动态视图识别按钮

android-从动态视图识别按钮,第1张

概述我已经为动态布局编写了此代码,在其中使用此循环来生成一对按钮(这是我生成它们的代码的一部分)for(inti=1;i<=2;i++){Buttonbutton1=newButton(this);button1.setTag("age");button1.setId(i);layout.addView(button1);

我已经为动态布局编写了此代码,在其中使用此循环来生成一对按钮(这是我生成它们的代码的一部分)

  for(int i = 1; i <= 2 ; i++) {        button button1 = new button(this);        button1.setTag("age");        button1.setID(i);        layout.addVIEw(button1);        button button2 = new button(this);        button2.setID(i);        button2.setTag("country");        button2.setEnabled(false);        layout.addVIEw(button2);        button1.setonClickListener(this);        button2.setonClickListener(this);       }

我想做的是,如果单击了button1,则应该启用button2(最初是禁用的).

如果按钮是在xml中创建的,那么这将是一件非常容易的任务,因为每个按钮都有各自的R.ID.xxxxx名称,但是在这里,我无法理解如何在OnClick(VIEw v )方法,以便我可以更改是否启用它,我尝试为每个按钮添加标签,以便我可以使用另一个参数来识别按钮,但是我不知道如何使用的视图信息来识别另一个按钮单击的按钮1.

解决方法:

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

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);    }}
总结

以上是内存溢出为你收集整理的android-从动态视图识别按钮全部内容,希望文章能够帮你解决android-从动态视图识别按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存