我要在两张图像之间切换,并且只显示其中一张图像时,我想设置setOnTouchListener。这是代码:
Switch switch2 = (Switch) rootView.findViewById(R.id.switch2);
final ImageView iv = (ImageView) rootView.findViewById(R.id.image2);
switch2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
iv.setImageResource(R.drawable.sijuki2);
} else {
iv.setImageResource(R.drawable.sijuki2_default);
}
}
});
if (switch2.equals(false)) {
if (iv != null) {
iv.setOnTouchListener(this);
}
}
但是OnTouch无法在该应用程序中运行。我尝试将
iv.setOnTouchListener(this)
放在onCheckedChanged
内,但是在(this)
上出现错误。谢谢。
最佳答案
要使用OnTouchListener,您必须实现view.OnTouchListener在这样的片段中,
public class YourFragment extends Fragment implements View.OnTouchListener{
当实现view.OnTouchListener时,则在片段内部,您必须重写onTouch方法。
您的onTouchMethod应该看起来像这样,
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(view.getId()==R.id.iv)
//your code here
return false;
}