我希望在每次触摸事件时更改ImageView上显示的图像。以下代码可以实现这一点。
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,但问题仍然存在。