如何在机器人中获取textview的背景色

时间:2014-10-02 07:59:44

标签: java android css junit robotium

嗨,大家好我试图获取TextView的背景颜色但无法找到它。

我正在使用robotium对我的聊天应用进行健全性自动化测试。

主要目标是找到天气textview气泡颜色为灰色或蓝色并放置断言。

    ArrayList<TextView> textViewList = solo.getCurrentViews(TextView.class);

    for (TextView textview : textViewList )
    {
        if (textview != null && textview.isShown()) 
        {
            if(textview.getText().toString().equals(Message))
            {
                ColorDrawable drawable = (ColorDrawable)textview.getBackground();
                int color= drawable.getColor();
                //doing some assertion 

            }
        }
    }

这就是我想要获得颜色但是有了表达

    java.lang.ClassCastException: android.graphics.drawable.LayerDrawable cannot be cast to
    android.graphics.drawable.ColorDrawable

请帮助我,谢谢:)

1 个答案:

答案 0 :(得分:1)

经过一些研究后,您可以使用

从文本视图中获取文本颜色
TextView text = (TextView) solo.getCurrentActivity().findViewById(R.id.TextViewColor);
text.getCurrentTextColor();

问题是返回的文本颜色是R.java中的颜色而不是xml中使用的颜色

如需更多阅读:

colors.xml not generating the correct values in gen/R file?

希望它有所帮助,干杯。