@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_fex_detail, container, false); // show the current exercise ImageView imageview = (ImageView) rootView.findViewById(R.id.imageview); // set gesture detector this.mGestureScanner = new GestureDetector( this.getActivity(), new ExerciseDetailOnGestureListener(this, imageview, mExercise)); // Images if (!mExercise.getImagePaths().isEmpty()) { DataHelper data = new DataHelper(getActivity()); imageview.setImageDrawable(data.getDrawable(mExercise.getImagePaths().get(0).toString())); } else { imageview.setImageResource(R.drawable.ic_launcher); } imageview.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return mGestureScanner.onTouchEvent(event); } }); // set adapter ListView listView = (ListView) rootView.findViewById(R.id.list); final TrainingEntryListAdapter mAdapter = new TrainingEntryListAdapter((FragmentActivity) getActivity(), mExercise, mTrainingEntry); listView.setAdapter(mAdapter); SwipeDismissListViewTouchListener touchListener = new SwipeDismissListViewTouchListener( listView, new SwipeDismissListViewTouchListener.OnDismissCallback() { @Override public void onDismiss(ListView listView, int[] reverseSortedPositions) { for (int position : reverseSortedPositions) { mAdapter.remove(position); } mAdapter.notifyDataSetChanged(); } }); listView.setOnTouchListener(touchListener); // Setting this scroll listener is required to ensure that during // ListView scrolling, // we don't look for swipes. listView.setOnScrollListener(touchListener.makeScrollListener()); return rootView; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Parse.initialize( this, "eWwRUTH1UIfOuAjxlyE4fkrDii5AuKDWGoLvZq0w", "tfreVuLEyblkzLQN6LXL5mLtYeIrsh9yWfiVr5ql"); ParseAnalytics.trackAppOpened(getIntent()); ParseObject.registerSubclass(Task.class); ParseUser currentUser = ParseUser.getCurrentUser(); if (currentUser == null) { Intent intent = new Intent(this, LoginActivity.class); startActivity(intent); finish(); } mAdapter = new TaskAdapter(this, new ArrayList<Task>()); mTaskInput = (EditText) findViewById(R.id.task_input); mListView = (ListView) findViewById(R.id.task_list); mListView.setAdapter(mAdapter); mListView.setOnItemClickListener(this); updateData(); SwipeDismissListViewTouchListener touchListener = new SwipeDismissListViewTouchListener( mListView, new SwipeDismissListViewTouchListener.OnDismissCallback() { public void onDismiss(ListView listView, int[] reverseSortedPositions) { for (int position : reverseSortedPositions) { try { mAdapter.getItem(position).delete(); } catch (ParseException e) { e.printStackTrace(); } mAdapter.remove(mAdapter.getItem(position)); } mAdapter.notifyDataSetChanged(); } }); mListView.setOnTouchListener(touchListener); mListView.setOnScrollListener(touchListener.makeScrollListener()); registerForContextMenu(mListView); }
@Override public void onViewCreated(final View view, final Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final ListView listView = getListView(); listView.setDividerHeight(0); final SwipeDismissListViewTouchListener swipeDismissListener; swipeDismissListener = createSwipeDismissListener(listView); listView.setOnTouchListener(swipeDismissListener); listView.setOnScrollListener(swipeDismissListener.makeScrollListener()); if (!listAdapter.onRestoreInstanceState(savedInstanceState)) { listAdapter.loadContents(activity); } if (savedInstanceState != null) { final int firstPosition = savedInstanceState.getInt(KEY_STATE_FIRST_POS, 0); final int top = savedInstanceState.getInt(KEY_STATE_TOP, 0); listView.setSelectionFromTop(firstPosition, top); } }
// https://github.com/romannurik/Android-SwipeToDismiss/blob/master/src/com/example/android/swipedismiss/MainActivity.java private void bindSwipeListener() { SwipeDismissListViewTouchListener touchListener = new SwipeDismissListViewTouchListener( lv, new SwipeDismissListViewTouchListener.DismissCallbacks() { @Override public boolean canDismiss(int position) { return true; } @Override public void onDismiss(ListView listView, int[] reverseSortedPositions) { for (int position : reverseSortedPositions) { adapter.remove(position); } adapter.notifyDataSetChanged(); Toast.makeText(FavoritesActivity.this, "Favorite deleted", Toast.LENGTH_LONG) .show(); } }); lv.setOnTouchListener(touchListener); lv.setOnScrollListener(touchListener.makeScrollListener()); }