android – setOnClickListener动态

android – setOnClickListener动态,第1张

概述我动态创建不同的按钮,如下所示: for (int toShow = 1; toShow <= nShips; toShow++) { btn = new Button(this); btn.setBackgroundResource(shipDrawable.get(ima)); btn.setLayoutParams(params); 我动态创建不同的按钮,如下所示:

for (int toShow = 1; toShow <= nShips; toShow++)    {        btn = new button(this);        btn.setBackgroundResource(shipDrawable.get(ima));        btn.setLayoutParams(params);        row[pos].addVIEw(btn);        btn.setID(shipID.get(ima));        if (row[pos].getChildCount() == 3) pos++;        ima++;    }

我需要知道每个按钮的身份,因为彼此有不同的动作.然后,我尝试像这样设置onClick@R_301_6818@ener:

btn.setonClick@R_301_6818@ener(new OnClick@R_301_6818@ener() {        @OverrIDe        public voID onClick(VIEw btn) {            switch(btn.getID()){                case 1000: System.out.println("FirsT");                break;                case 1004: System.out.println("FOURTH");                break;            }        }    });

但它不起作用.似乎onClick@R_301_6818@ener只影响最后创建的项目.如果我创建了四个按钮,则只有第四个按钮会有一个onClick@R_301_6818@ener.

如何让我的点击监听器工作?

解决方法 你可以这样做:

OnClick@R_301_6818@ener @R_301_6818@ener = new OnClick@R_301_6818@ener() {            @OverrIDe            public voID onClick(VIEw btn) {                switch(btn.getID()){                    case 1000: System.out.println("FirsT");                    break;                    case 1004: System.out.println("FOURTH");                    break;                }            }        };for (int toShow = 1; toShow <= nShips; toShow++) {        btn = new button(this);        // Set the click @R_301_6818@ener to all your buttons        btn.setonClick@R_301_6818@ener(@R_301_6818@ener);        btn.setBackgroundResource(shipDrawable.get(ima));        btn.setLayoutParams(params);        row[pos].addVIEw(btn);        btn.setID(shipID.get(ima));        if (row[pos].getChildCount() == 3) pos++;        ima++;    }

干杯,Yuvi

总结

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

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存