在Android中,如何定位除单击之外的所有按钮?

时间:2014-01-05 04:46:51

标签: android button setbackground

我有一个以编程方式创建的LinearLayout,并且我已在此布局中放置按钮以充当手风琴。当点击时,它们展开以显示,并且它们工作正常。

我使用9补丁图像添加每个手风琴图像所需的底部边框和箭头/三角形。我想要做的是翻转箭头(使用另外9个补丁图像)并将之前选择的项目返回到另一个箭头/三角形。

我有第一个工作:触摸时翻转箭头。我只是将新图像应用到被点按的按钮上。

我无法弄清楚如何告诉其他项目。我的计划是针对所有按钮,应用"未打开的"箭头,然后应用"翻转"箭头指向按钮。

我尝试使用:

for(int x=0;x<accordionMenu.getChildCount();x++){
     accordionMenu.getChildAt(x).setBackground(accordStyle);
}

但这也是针对手风琴内的物品,而不仅仅是按钮。

如何定位所有按钮,只有按钮才能应用&#34;未打开的&#34;箭头在定位点击按钮之前应用&#34;翻转&#34;箭头?

1 个答案:

答案 0 :(得分:0)

在应用背景颜色之前,使用instanceof检查视图是按钮或其他视图:

 for(int x=0;x<accordionMenu.getChildCount();x++){
        View view = accordionMenu.getChildAt(i);          
        if (view instanceof Button) {
           view.setBackground(accordStyle);
         }
   }