android - 动态创建按钮,我可以选择一个按钮并取消选择其他按钮吗?

标签 android event-handling android-widget

我正在动态创建按钮......

for(int i=0; i<colSize;i++){
    final Button btn = new Button(this);    
    btn.setText(SectionName[i]);        
    btn.setTextSize(10);
    btn.setPadding(8, 3,8, 3);   
    btn.setTextColor(Color.WHITE);
    btn.setTypeface(Typeface.SERIF, Typeface.BOLD);

    btn.setOnClickListener(new OnClickListener() {  
        @Override
        public void onClick(View v) {               
            //***Every time that I click my button is selected !:)
            btn.setSelected(true);      
        }                   

     });  

    }

但是我怎么能取消选择其他已选择的按钮,我只想选择一个按钮! :)

最佳答案

  1. 粗暴的方式(如果你的按钮很少就可以)——保存你的按钮引用并创建私有(private)方法来循环你的按钮并在你不需要时取消选择
  2. 扩展您的按钮类并使其监听在单击其中一个按钮时生成的自定义事件
  3. 查看 RadioGroup实现
  4. #1 的变体。与其为按钮创建单独的监听器,不如只创建一个监听器并将其重复用于所有按钮。从 OnClickListener 扩展该监听器并添加 List 字段。每次将监听器分配给按钮时,将按钮引用添加到该列表。现在,当 onClick 被触发时,只需循环遍历列表并禁用“其他”按钮

关于android - 动态创建按钮,我可以选择一个按钮并取消选择其他按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2059454/

相关文章:

android - 从 Android Market 下载时出现问题 - 与包大小有关?

javascript - 在 ExtJS 4 网格中的行悬停时显示自定义菜单

.net - 我如何知道 .net 事件是否已被处理?

Google map 的 Javascript 事件处理

android - 短时间内频繁更新一个widget可以吗?

android - 如何在 web View 中根据设备加载不同语言的 html 页面,就像我们对不同语言支持的字符串文件所做的那样

android - 如何将数据设置为由 fragment 膨胀的布局

android TagHandler 和 CSS

android - 如何为 Jellybean (API 17) 创建一个有效的 AVD?

java - 如何更改微调项目中文本的背景颜色?