Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. public class AdminNotesAdapter extends BaseAdapter {
  2.  
  3. private ArrayList<AdminNoteShortenHolder> mNotesList = new ArrayList<AdminNoteShortenHolder>();
  4.  
  5. private AdminNoteShortenHolder mNoteHolder = new AdminNoteShortenHolder();
  6. private ViewHolder holder = null;
  7.  
  8. private Activity activity;
  9.  
  10. public AdminNotesAdapter(ArrayList<AdminNoteShortenHolder> array,
  11. Activity activity) {
  12. this.activity = activity;
  13. this.mNotesList = array;
  14.  
  15. }
  16.  
  17. @Override
  18. public int getCount() {
  19. return mNotesList.size();
  20. }
  21.  
  22. @Override
  23. public Object getItem(int position) {
  24. return null;
  25. }
  26.  
  27. @Override
  28. public long getItemId(int position) {
  29. return 0;
  30. }
  31.  
  32. @Override
  33. public View getView(int position, View convertView, ViewGroup parent) {
  34. mNoteHolder = mNotesList.get(position);
  35.  
  36. if (convertView == null) {
  37. convertView = activity.getLayoutInflater().inflate(
  38. R.layout.row_adminnotes, null);
  39. holder = new ViewHolder(convertView);
  40. holder.cb_row_adminNotesCheck
  41. .setOnCheckedChangeListener(new OnCheckedChangeListener() {
  42.  
  43. @Override
  44. public void onCheckedChanged(CompoundButton buttonView,
  45. boolean isChecked) {
  46. int getPosition = (Integer) buttonView.getTag();
  47. mNotesList.get(getPosition).setSelected(isChecked);
  48.  
  49. }
  50. });
  51. convertView.setTag(holder);
  52. convertView.setTag(R.id.cb_row_adminnotesCheck,
  53. holder.cb_row_adminNotesCheck);
  54. } else {
  55. holder = (ViewHolder) convertView.getTag();
  56. }
  57.  
  58. holder.img_row_adminnotesNew
  59. .setVisibility(0 == mNoteHolder.note_read ? View.VISIBLE
  60. : View.GONE);
  61.  
  62. holder.txt_row_adminnotesNoteSubject.setText(mNoteHolder.note_subject);
  63. holder.txt_row_adminnotesNoteUser.setText("from "
  64. + mNoteHolder.note_from_user + " | " + mNoteHolder.note_time);
  65. holder.txt_row_adminnotesNotePreview.setText(mNoteHolder.note_content);
  66.  
  67. holder.cb_row_adminNotesCheck.setTag(position);
  68. holder.cb_row_adminNotesCheck.setChecked(mNotesList.get(position)
  69. .isSelected());
  70.  
  71. return convertView;
  72. }
  73.  
  74. static class ViewHolder {
  75.  
  76. public ImageView img_row_adminnotesNew;
  77. public TextView txt_row_adminnotesNoteSubject;
  78. public TextView txt_row_adminnotesNoteUser;
  79. public TextView txt_row_adminnotesNotePreview;
  80. public CheckBox cb_row_adminNotesCheck;
  81.  
  82. public ViewHolder(View convertView) {
  83.  
  84. img_row_adminnotesNew = (ImageView) convertView
  85. .findViewById(R.id.img_row_adminnotesNew);
  86.  
  87. txt_row_adminnotesNoteSubject = (TextView) convertView
  88. .findViewById(R.id.txt_row_adminnotesNoteSubject);
  89. txt_row_adminnotesNoteUser = (TextView) convertView
  90. .findViewById(R.id.txt_row_adminnotesNoteUser);
  91. txt_row_adminnotesNotePreview = (TextView) convertView
  92. .findViewById(R.id.txt_row_adminnotesNotePreview);
  93. cb_row_adminNotesCheck = (CheckBox) convertView
  94. .findViewById(R.id.cb_row_adminnotesCheck);
  95.  
  96. }
  97.  
  98. }
  99. }
  100.  
  101. public class AdminNoteShortenHolder extends BaseHolder {
  102.  
  103. public int note_id;
  104. public String note_from_user;
  105. public String note_subject;
  106. public String note_content;
  107. public String note_time;
  108. public int note_read;
  109.  
  110. private boolean selected;
  111.  
  112. @Override
  113. public void parse(JSONObject jsonObject) {
  114.  
  115. note_id = jsonObject.optInt("note_id", -1);
  116. note_from_user = jsonObject.optString("note_from_user");
  117. note_subject = jsonObject.optString("note_subject");
  118. note_content = jsonObject.optString("note_content");
  119. note_time = jsonObject.optString("note_time");
  120. note_read = jsonObject.optInt("note_read", -1);
  121. }
  122.  
  123. public boolean isSelected() {
  124.  
  125. return selected;
  126. }
  127.  
  128. public void setSelected(boolean selected) {
  129. this.selected = selected;
  130. }
  131. }
  132.  
  133. private Map<Integer, Boolean> map = new HashMap<Integer, Boolean>();
  134.  
  135. @Override
  136. public View getView(final int position, View convertView, ViewGroup parent) {
  137.  
  138. Boolean present = map.get(position);
  139. if(present != null && present.booleanValue()){
  140. // set checkbox checked
  141. } else {
  142. // set checkbox un-cheked
  143. }
  144.  
  145. holder.cb_row_adminNotesCheck.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  146.  
  147. @Override
  148. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  149. int getPosition = (Integer) buttonView.getTag();
  150. mNotesList.get(getPosition).setSelected(isChecked);
  151. if(isChecked){
  152. map.put(position, true);
  153. } else {
  154. map.remove(position);
  155. }
  156. setButtonVisibility();
  157. }
  158. });
  159. }
  160.  
  161. private void setButtonVisibility()
  162. {
  163. if(map.size() > 0){
  164. // set button visible
  165. } else {
  166. // set button invisible
  167. }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement