获取按钮android java的xml属性

时间:2016-06-09 15:42:06

标签: java android xml android-studio

请帮助我在activity_main.xml文件的布局中包含许多带有文本和图像的按钮。

<Button
    android:drawableTop="@drawable/ring"
    android:id="@+id/Button1"
    android:text="pic1" />

其他每个按钮都有不同的@drawable资源,id和文本。

问题:我如何以编程方式遍历MainActivity.java中的每个按钮并获取@drawableTop属性的值,因此在上面的例子中 - ring

2 个答案:

答案 0 :(得分:1)

首先,您需要知道有多少孩子拥有您正在使用的LinearLayout或RelativeLayout。然后,创建一个循环来获取每个孩子。最后,验证视图的类型并获得可绘制的顶部。

LinearLayout layout = setupLayout();
int count = layout.getChildCount();
View view = null;
for(int i=0; i<count; i++) {
    view = layout.getChildAt(i);
    if (view instanceof Button) {
       Button myButton = (Button) view;
       Drawable drawableTop = myButton.getCompoundDrawables()[1];
       //YOUR CODE
    }
}

答案 1 :(得分:0)

来自文档:

  

Drawable [] getCompoundDrawables()

     

返回左,上,右和下边框的drawable。

所以

    if [ -n "`diff file1 file2`" ]
            then `echo -e "\u2713"`
    fi

将返回drawable for top。