Guest User

Untitled

a guest
Mar 24th, 2016
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. followRecyclerView.addOnItemTouchListener(new RecyclerClicks.RecyclerTouchListener(getApplicationContext(), followRecyclerView, new RecyclerClicks.ClickListener() {
  2. @Override
  3. public void onClick(View view, int position) {
  4. DatabaseUser user = dbUsersList.get(position);
  5. if(view == view.findViewById(R.id.userAdapterFollowBtn)) {
  6. TextView clickedView = (TextView) view.findViewById(R.id.userAdapterFollowBtn);
  7. if (clickedView.getText().equals("following")) {
  8.  
  9. //APPLY Following
  10.  
  11. clickedView.setText("follow");
  12. if (user.getIsChanged() == 0) {
  13. user.setIsChanged(1);
  14. } else {
  15. user.setIsChanged(0);
  16. }
  17. user.setIsType(3);
  18. db.updateFollow(user);
  19. } else {
  20.  
  21. clickedView.setText("following");
  22. if (user.getIsChanged() == 0) {
  23. user.setIsChanged(1);
  24. } else {
  25. user.setIsChanged(0);
  26. }
  27. user.setIsType(0);
  28. db.updateFollow(user);
  29.  
  30. userAdapter.notifyDataSetChanged();
  31. }
  32. } else {
  33. Toast.makeText(getApplicationContext(), user.getUsername() + " is selected!", Toast.LENGTH_SHORT).show();
  34. takeToUserProfile(dbUsersList.get(position));
  35. }
  36. }
  37.  
  38.  
  39.  
  40.  
  41. @Override
  42. public void onLongClick(View view, int position) {
  43.  
  44. }
  45. }));
  46.  
  47.  
  48.  
  49. This is the class
  50.  
  51. public class RecyclerClicks {
  52.  
  53. public interface ClickListener {
  54. void onClick(View view, int position);
  55.  
  56. void onLongClick(View view, int position);
  57. }
  58.  
  59. public static class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {
  60.  
  61. private GestureDetector gestureDetector;
  62. private ClickListener clickListener;
  63.  
  64. public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) {
  65. this.clickListener = clickListener;
  66. gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
  67. @Override
  68. public boolean onSingleTapUp(MotionEvent e) {
  69. return true;
  70. }
  71.  
  72. @Override
  73. public void onLongPress(MotionEvent e) {
  74. View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
  75. if (child != null && clickListener != null) {
  76. clickListener.onLongClick(child, recyclerView.getChildPosition(child));
  77. }
  78. }
  79. });
  80. }
  81.  
  82. @Override
  83. public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
  84.  
  85. View child = rv.findChildViewUnder(e.getX(), e.getY());
  86. if (child != null && clickListener != null && gestureDetector.onTouchEvent(e)) {
  87. clickListener.onClick(child, rv.getChildAdapterPosition(child));
  88. }
  89. return false;
  90. }
  91.  
  92. @Override
  93. public void onTouchEvent(RecyclerView rv, MotionEvent e) {
  94. }
  95.  
  96. @Override
  97. public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
  98.  
  99. }
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment