如何区分放置在同一imageView上的两个图像(可绘制)

时间:2014-04-24 03:12:03

标签: android robotium

在编写Robotium测试用例时,我想区分放在同一个imageView上的两个图像(可绘制)。 Drawable是动态放置的。我试图在getDrawable()的帮助下得到drawable,但每次都有不同的drawable对象。

有没有办法获得可绘制的ID?任何帮助或指导将不胜感激。

1 个答案:

答案 0 :(得分:1)

你无法从drawable本身获取drawable id,但你可以使用setTag()和getTag()方法存储和检索imageView的drawable id。

TestActivity.java

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");
    }

  }

}