Advertisement
Guest User

Untitled

a guest
Apr 14th, 2012
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.58 KB | None | 0 0
  1. Android- Save checkbox state in listview
  2. public class CardDetailsAdapter extends BaseAdapter {
  3. private static ArrayList<CardDetails> searchArrayList;
  4. private LayoutInflater mInflater;
  5.  
  6. private boolean[] itemChecked = new boolean[100];
  7.  
  8. public CardDetailsAdapter(Context context, ArrayList<CardDetails> results) {
  9. map = new HashMap<Integer, Boolean>();
  10. searchArrayList = results;
  11. mInflater = LayoutInflater.from(context);
  12. }
  13.  
  14. public int getCount() {
  15. return searchArrayList.size();
  16. }
  17.  
  18. public Object getItem(int position) {
  19. return searchArrayList.get(position);
  20. }
  21.  
  22. public long getItemId(int position) {
  23. return position;
  24. }
  25.  
  26. public View getView(final int position, View convertView, final ViewGroup parent) {
  27. final ViewHolder holder;
  28.  
  29. if (convertView == null) {
  30. convertView = mInflater.inflate(R.layout.welcomelistview, null);
  31. holder = new ViewHolder();
  32. holder.bankName = (TextView) convertView.findViewById(R.id.BankNameID);
  33. holder.messages = (TextView) convertView.findViewById(R.id.messageID);
  34. holder.chkbox = (CheckBox) convertView.findViewById(R.id.chkBoxID);
  35. System.out.println("is checked==> " + holder.chkbox.isChecked());
  36.  
  37. convertView.setTag(holder);
  38. } else {
  39. holder = (ViewHolder) convertView.getTag();
  40. }
  41. holder.bankName.setText(searchArrayList.get(position).getBankName());
  42. holder.messages.setText(searchArrayList.get(position).getMessages());
  43. holder.chkbox.setChecked(false);
  44. // save position and checking status into tag
  45. holder.chkbox.setTag(position);
  46. holder.chkbox.setOnClickListener(new OnClickListener() {
  47. public void onClick(View v) {
  48. HashMap<Integer, Boolean> mSimpleAdapter = new HashMap<Integer, Boolean>();
  49. int p = (Integer) (v.getTag());
  50. if (holder.chkbox.isChecked() == true) {
  51. itemChecked[Integer.valueOf(position)] = holder.chkbox.isChecked();
  52. }else{
  53. itemChecked[Integer.valueOf(position)] = holder.chkbox.isChecked();
  54. }
  55.  
  56. mSimpleAdapter.put(p, itemChecked[position]);
  57. holder.chkbox.setChecked(itemChecked[position]);
  58. }
  59. });
  60. return convertView;
  61. }
  62.  
  63. static class ViewHolder {
  64. TextView bankName;
  65. TextView messages;
  66. CheckBox chkbox;
  67. }}
  68.  
  69. import com.ispl.CFSMS.helper.CardDetailsAdapter;
  70. public class WelcomePage extends Activity{
  71. CardDetailsAdapter mListAdapter;
  72. ArrayList<Integer> arList = new ArrayList<Integer>();
  73. public void onCreate(Bundle savedInstanceState) {
  74. super.onCreate(savedInstanceState);
  75. setContentView(R.layout.welcomepage);
  76. final ArrayList<CardDetails> cardResults = GetCardDetails();
  77. final ListView welcomelist = (ListView) findViewById(R.id.welcomelistID);
  78. welcomelist.setAdapter(new CardDetailsAdapter(this, cardResults));
  79. welcomelist.setOnItemLongClickListener(new OnItemLongClickListener() {
  80. public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
  81. Object o = welcomelist.getItemAtPosition(position);
  82. CardDetails fullObject = (CardDetails)o;
  83. Intent r=new Intent(WelcomePage.this , CardMenuActivity.class);
  84. r.putExtra("BankName", fullObject.getBankName());
  85. r.putExtra("CardNumber", fullObject.getCardNumber());
  86. startActivityForResult(r, position);
  87. return false;
  88. }
  89. });
  90.  
  91. CheckBox checkbox = (CheckBox)findViewById(R.id.chkBoxID);
  92. Button saveTODbBtn = (Button)findViewById(R.id.saveID);
  93. saveTODbBtn.setOnClickListener(new OnClickListener() {
  94. public void onClick(View v) {
  95. //get the checkbox status and save related details into database
  96. Intent intent=new Intent(WelcomePage.this, BankProjectActivity.class);
  97. startActivity(intent);
  98. }
  99. });
  100.  
  101. }
  102. private ArrayList<CardDetails> GetCardDetails(){
  103. ArrayList<CardDetails> carddetailresults = new ArrayList<CardDetails>();
  104. CardDetails sr1 = new CardDetails();
  105.  
  106. sr1.setBankName("Select All");
  107. sr1.setCardNumber("");
  108. sr1.setMessages("");
  109. carddetailresults.add(sr1);
  110.  
  111. sr1 = new CardDetails();
  112. sr1.setBankName("HDFC Bank" +" "+ "xxxxx1234");
  113. sr1.setMessages("Messages: " + "10");
  114. carddetailresults.add(sr1);
  115.  
  116. sr1 = new CardDetails();
  117. sr1.setBankName("ICICI" + " "+ "xxxxx2134");
  118. sr1.setMessages("Messages: 5");
  119. carddetailresults.add(sr1);
  120.  
  121. sr1 = new CardDetails();
  122. sr1.setBankName("HSBC" + " "+ "xxxxx8796");
  123. sr1.setMessages("Messages: 2");
  124. carddetailresults.add(sr1);
  125.  
  126. return carddetailresults;
  127. }}
  128.  
  129. public View getView(final int position, View convertView,ViewGroup paramViewGroup)
  130. {
  131. final ViewHolder holder;
  132. LayoutInflater inflater=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
  133. if (convertView == null)
  134. {
  135. convertView=inflater.inflate(R.layout.addressbook, null);holder = new ViewHolder();
  136. holder.adddress_name=(TextView)convertView.findViewById(R.id.addressbook_name);
  137. holder.adddress_number=(TextView)convertView.findViewById(R.id.address_number);
  138. holder.adddress_name.setText(adddressbook_name.get(position).toString().trim())
  139. holder.adddress_number.setText(addressbook_number.get(position).toString().trim());
  140. holder.addressbook_check=(CheckBox)convertView.findViewById(R.id.address_check);convertView.setTag(holder);
  141. }
  142. else
  143. {
  144. holder = (ViewHolder) convertView.getTag();
  145. }
  146.  
  147. holder.addressbook_check.setId(position);
  148.  
  149. holder.addressbook_check.setOnClickListener(new OnClickListener()
  150. {
  151. public void onClick(View v)
  152. {
  153. CheckBox cb = (CheckBox) v;
  154. int id = cb.getId();
  155. if (thumbnailsselection[id])
  156. {
  157. cb.setChecked(false);
  158. thumbnailsselection[id] = false;
  159. }
  160. else
  161. {
  162. cb.setChecked(true);
  163. thumbnailsselection[id] = true;
  164. }
  165. }
  166. });
  167.  
  168. holder.addressbook_check.setChecked(thumbnailsselection[position]);
  169. return convertView;
  170. }
  171.  
  172. class ViewHolder
  173. {
  174. TextView adddress_name;
  175. TextView adddress_number;
  176. CheckBox addressbook_check;
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement