Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid: Swipe left to right and right to left
    primarykey
    data
    text
    <p>I am new to Android, and I am trying to make a page where I can swipe from left to right and right to left to go to previous and next pages. I spent a lot of time looking up and trying different things. For some reason, when I swipe (no matter which direction), it only shows next picture. It should have shown me previous picture when I swipe right to left. Any help will be highly appreciated! Thanks so much for your time :)</p> <pre><code>public class MyGestureDetector extends SimpleOnGestureListener { private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200; public boolean isRightToLeft = false; @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (Math.abs(e1.getY() - e2.getY()) &gt; SWIPE_MAX_OFF_PATH) return false; // right to left swipe // right to left swipe if(e1.getX() - e2.getX() &gt; SWIPE_MIN_DISTANCE &amp;&amp; Math.abs(velocityX) &gt; SWIPE_THRESHOLD_VELOCITY) { isRightToLeft = true; return true; } // left to right swipe else if (e2.getX() - e1.getX() &gt; SWIPE_MIN_DISTANCE &amp;&amp; Math.abs(velocityX) &gt; SWIPE_THRESHOLD_VELOCITY) { isRightToLeft = false; return true; } } catch (Exception e) { // nothing } return false; } } public class Pictures extends Activity { private int pictureCounter = 1; private Context myContext = this; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pictures); getPicture(pictureCounter); final MyGestureDetector myGestureDetector = new MyGestureDetector(); // Gesture detection gestureDetector = new GestureDetector(myGestureDetector); gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { if (myGestureDetector.isRightToLeft) { previousPicture(); } else if (!myGestureDetector.isRightToLeft) { nextPicture(); } return true; } return false; } }; //iv.setOnTouchListener(gestureListener); ((ImageView)findViewById(R.id.title_pictures)).setOnTouchListener(gestureListener); ImageView iv = (ImageView) findViewById(R.id.flag_pic); iv.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub nextPicture(); } }); } public void getPicture(int picCounter) { DatabaseHelper myDbHelper = new DatabaseHelper(this); try { myDbHelper.createDatabase(); } catch (IOException ioe) { throw new Error("Unable to create databse"); } try { myDbHelper.openDatabase(); } catch(SQLException sqle) { throw sqle; } String query = "select Before_Picture, After_Picture from picture_mapping where _id = " + picCounter; SQLiteDatabase db = myDbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery(query, null); cursor.moveToFirst(); String beforePicture = cursor.getString(0); String afterPicture = cursor.getString(1); cursor.close(); db.close(); ImageView before_pic = (ImageView) findViewById(R.id.imgView_before_pic); int resId = myContext.getResources().getIdentifier(beforePicture,"drawable", "com.ash.android.pictures"); before_pic.setBackgroundResource(resId); TextView after_pic = (TextView) findViewById(R.id.txtView_after_picture); after_pic.setText(afterPicture); //Toast toast=Toast.makeText(this, beforePicture+ ":" + afterPicture, Toast.LENGTH_LONG); //toast.show(); } public void nextPicture() { if (pictureCounter &lt; 36) { pictureCounter += 1; getPicture(pictureCounter); } else { //do nothing } } public void previousPicture() { if (pictureCounter &gt; 1) { pictureCounter -= 1; getPicture(pictureCounter); } else { //do nothing } } } </code></pre> <p>Thanks in advance!! </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload