문제

Im trying to add my application an imageview on touch listener but it is not working. i tried on touch listener on create and gesture listener but couldn't figure it out. i want my application to go new intent when i clicked on image.

public class MainActivity extends Activity {
private GestureDetectorCompat mDetector;
private Intent intent;
private MediaPlayer mMediaPlayer = null;
int length;
View img;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ImageView view = (ImageView) findViewById(R.id.img1);
    /*view.setOnTouchListener(new OnTouchListener()
        {

            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                intent = new Intent(MainActivity.this, MyListActivity.class);
                mMediaPlayer.pause();

                length=mMediaPlayer.getCurrentPosition();



                startActivity(intent);
                return true;
            }
       });*/
    // Hides the title bar (must be used before setContentView)
    // Requires import android.view.Window
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);

    //mDetector = new GestureDetectorCompat(this, new MyGestureListener());

    mMediaPlayer = MediaPlayer.create(this, R.raw.background);

    mMediaPlayer.start();
}

//@Override 
public boolean onTouchEvent(MotionEvent event){ 
    this.mDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}



class MyGestureListener extends SimpleOnGestureListener {
    @Override
    public boolean onDown(MotionEvent event) {

        return true;
    }

    @Override
    public boolean onSingleTapConfirmed(MotionEvent event) {
        intent = new Intent(MainActivity.this, MyListActivity.class);
        mMediaPlayer.pause();

        length=mMediaPlayer.getCurrentPosition();



        startActivity(intent);
        return true;
    }
}

@Override
protected void onResume() {
    super.onResume();
    mMediaPlayer.seekTo(length);
    mMediaPlayer.start();
}

}

도움이 되었습니까?

해결책

Set your onClickListener like this:

view.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        intent = new Intent(this, MyListActivity.class);
        startActivity(intent);
    }
});

Do this AFTER setContentView().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top