嗨,大家好我试图获取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
请帮助我,谢谢:)
答案 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?
希望它有所帮助,干杯。