我无法比较view.getBackground()== R.drawable.image?[android]

时间:2015-09-30 05:55:30

标签: view android-imageview android-drawable

我需要将作为背景加载的图像与我的imageView进行比较。我这样做:

 @Override
    public boolean onTouch(View v, MotionEvent event) {

        if(event.getAction() == MotionEvent.ACTION_DOWN) {
            switch (v.getId()) {
                case R.id.hero1:
                    if(v.getBackground() == R.drawable.hero1){
                    //do something
              }
                    break;
                case R.id.hero2:
                 //other stuff
          } 

但v.getBackground()与我在drawable文件夹中的内容不相符。 为什么呢?

请注意,v.getBackgroundResource()不可用。

1 个答案:

答案 0 :(得分:2)

你可以这样做 -

  @Override
        public boolean onTouch(View v, MotionEvent event) {

            if(event.getAction() == MotionEvent.ACTION_DOWN) {
                switch (v.getId()) {
                    case R.id.hero1:

                      if (v.getBackground().getConstantState().equals(getResources().getDrawable(R.drawable.hero1).getConstantState())) {
                         // Do something here
                      }

                        break;
                    case R.id.hero2:
                     //other stuff
              }