【发布时间】:2014-04-24 03:12:03
【问题描述】:
在编写 Robotium 测试用例时,我想区分放置在同一 imageView 上的两个图像(可绘制)。 Drawables 是动态放置的。我试图在 getDrawable() 的帮助下绘制可绘制对象,但每次都会出现不同的可绘制对象。
有什么方法可以获取drawable id吗?任何帮助或指导将不胜感激。
【问题讨论】:
在编写 Robotium 测试用例时,我想区分放置在同一 imageView 上的两个图像(可绘制)。 Drawables 是动态放置的。我试图在 getDrawable() 的帮助下绘制可绘制对象,但每次都会出现不同的可绘制对象。
有什么方法可以获取drawable id吗?任何帮助或指导将不胜感激。
【问题讨论】:
你不能从drawable本身获取drawable id,但是你可以使用setTag()和getTag()方法存储和检索imageView的drawable id。
public class TestActivity extends Activity {
private static String TAG = "TestActivity";
private Activity mActivity;
private static int ID_TAG = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Log.d(TAG, "onCreate");
mActivity = this;
// set drawable
ImageView imgView = new ImageView(mActivity);
imageView.setImageResource(R.drawable.photo);
String value = String.format("%d", R.drawable.photo);
imageView.setTag(ID_TAG, value);
// get drawable
value = imageView.getTag(ID_TAG);
drawableId = Integer.parseInt(value);
if(drawableId == R.drawable.photo){
Log.d(TAG, "You found the photo");
}
}
}
【讨论】: