我要在两张图像之间切换,并且只显示其中一张图像时,我想设置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;
}

10-08 06:49
查看更多