我想在每次触摸事件时更改图像视图上显示的图像。下面的代码实现了这一点。
public class TelephoneFragment extends Fragment {
ImageView telephoneImageView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.telephone_fragment,
container, false);
telephoneImageView = (ImageView)view.findViewById(R.id.telephoneImageView);
telephoneImageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
telephoneImageView.setImageDrawable(getResources().getDrawable(R.drawable.telephone_clicked));
}
if(event.getAction() == MotionEvent.ACTION_UP){
telephoneImageView.setImageDrawable(getResources().getDrawable(R.drawable.telephone));
}
return true;
}
});
return view;
}
}
但是有一个问题,当我改变手机的方向并再次尝试触摸图像时,新图像会绘制在前一个图像上,即前一个图像在背景中仍然可见。有人可以指导我了解发生了什么吗?谢谢。
--我也尝试使用 setImageResource() 而不是 setImageDrawable,但问题仍然存在。