在编写Robotium测试用例时,我想区分放在同一个imageView上的两个图像(可绘制)。 Drawable是动态放置的。我试图在getDrawable()的帮助下得到drawable,但每次都有不同的drawable对象。
有没有办法获得可绘制的ID?任何帮助或指导将不胜感激。
答案 0 :(得分:1)
你无法从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");
}
}
}