Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. public class ListAdapter extends BaseAdapter {
  2.  
  3. Context context;
  4. protected List<Post> cityFeed;
  5. LayoutInflater inflater;
  6.  
  7. public ListAdapter(Context context, List<Post> cityFeed) {
  8. this.cityFeed = cityFeed;
  9. this.inflater = LayoutInflater.from(context);
  10. this.context = context;
  11. }
  12.  
  13. public int getCount() {
  14. return cityFeed.size();
  15. }
  16.  
  17. public Post getItem(int position) {
  18. return cityFeed.get(position);
  19. }
  20.  
  21. public long getItemId(int position) {
  22. return cityFeed.get(position).getDrawableID();
  23. }
  24.  
  25. public View getView(int position, View convertView, ViewGroup parent) {
  26. ViewHolder holder;
  27. if (convertView == null) {
  28. holder = new ViewHolder();
  29. // inflate the list item
  30. convertView = this.inflater.inflate(R.layout.row_layout, parent, false);
  31. // get views
  32. holder.profilePic = (ImageView) convertView.findViewById(R.id.profilePic);
  33. holder.username = (TextView) convertView.findViewById(R.id.username);
  34. holder.day = (TextView) convertView.findViewById(R.id.day);
  35. holder.rating = (TextView) convertView.findViewById(R.id.rating);
  36. holder.textPost = (TextView) convertView.findViewById(R.id.textPost);
  37. holder.ratingUp = (ImageButton) convertView.findViewById(R.id.ratingUp);
  38. holder.ratingDown = (ImageButton) convertView.findViewById(R.id.ratingDown);
  39. convertView.setTag(holder);
  40.  
  41. holder.ratingUp.setOnClickListener(new OnClickListener() {
  42. @Override
  43. public void onClick(View convertView) {
  44. // if image source equals this drawable then...
  45. // else change the image source to this drawable...
  46. Toast.makeText( context,
  47. "Rate Up",
  48. Toast.LENGTH_SHORT).show();
  49. }
  50. });
  51.  
  52. holder.ratingDown.setOnClickListener(new OnClickListener() {
  53. @Override
  54. public void onClick(View convertView) {
  55. Toast.makeText( context,
  56. "Rate Down",
  57. Toast.LENGTH_SHORT).show();
  58. }
  59. });
  60.  
  61. } else {
  62. holder = (ViewHolder) convertView.getTag();
  63. }
  64.  
  65. Post post = cityFeed.get(position);
  66. holder.profilePic.setImageResource(post.getDrawableID());
  67. holder.username.setText(post.getUsername());
  68. holder.day.setText(post.getDay());
  69. holder.rating.setText(post.getRating());
  70. holder.textPost.setText(post.getText());
  71. return convertView;
  72. }
  73.  
  74. private class ViewHolder {
  75. ImageView profilePic;
  76. TextView username;
  77. TextView day;
  78. TextView rating;
  79. TextView textPost;
  80. ImageView ratingUp;
  81. ImageView ratingDown;
  82. }
  83.  
  84. Drawable myDrawable1= //get your drawable 1 here
  85. Drawable myDrawable2= //get your drawable 2 here
  86. if ((Post)getItem(pos).isRatedUp){
  87. holder.ratingUp.setImageDrawable(myDrawable2);
  88. }
  89. else{
  90. holder.ratingUp.setImageDrawable(myDrawable1);
  91. }
  92.  
  93. holder.ratingUp.setOnClickListener(new OnClickListener() {
  94. @Override
  95. public void onClick(View convertView) {
  96. // if image source equals this drawable then...
  97. // else change the image source to this drawable...
  98.  
  99. if(((ImageButton)convertView).getDrawable()==myDrawable1){
  100. ((ImageButton)convertView).setImageDrawable(myDrawable2);
  101. ((Post)getItem(pos)).setRatedUp(true);
  102. }else{
  103. ((ImageButton)convertView).setImageDrawable(myDrawable1);
  104. ((Post)getItem(pos)).setRatedUp(false);
  105. }
  106. }
  107. });
  108.  
  109. private boolean isRatedUp=false;
  110.  
  111. public boolean isRatedUp(){
  112. return this.isRatedUp;
  113. }
  114. public void setRatedUp(boolean israted){
  115. this.isRatedUp=israted;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement