Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Android- Save checkbox state in listview
- public class CardDetailsAdapter extends BaseAdapter {
- private static ArrayList<CardDetails> searchArrayList;
- private LayoutInflater mInflater;
- private boolean[] itemChecked = new boolean[100];
- public CardDetailsAdapter(Context context, ArrayList<CardDetails> results) {
- map = new HashMap<Integer, Boolean>();
- searchArrayList = results;
- mInflater = LayoutInflater.from(context);
- }
- public int getCount() {
- return searchArrayList.size();
- }
- public Object getItem(int position) {
- return searchArrayList.get(position);
- }
- public long getItemId(int position) {
- return position;
- }
- public View getView(final int position, View convertView, final ViewGroup parent) {
- final ViewHolder holder;
- if (convertView == null) {
- convertView = mInflater.inflate(R.layout.welcomelistview, null);
- holder = new ViewHolder();
- holder.bankName = (TextView) convertView.findViewById(R.id.BankNameID);
- holder.messages = (TextView) convertView.findViewById(R.id.messageID);
- holder.chkbox = (CheckBox) convertView.findViewById(R.id.chkBoxID);
- System.out.println("is checked==> " + holder.chkbox.isChecked());
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
- holder.bankName.setText(searchArrayList.get(position).getBankName());
- holder.messages.setText(searchArrayList.get(position).getMessages());
- holder.chkbox.setChecked(false);
- // save position and checking status into tag
- holder.chkbox.setTag(position);
- holder.chkbox.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- HashMap<Integer, Boolean> mSimpleAdapter = new HashMap<Integer, Boolean>();
- int p = (Integer) (v.getTag());
- if (holder.chkbox.isChecked() == true) {
- itemChecked[Integer.valueOf(position)] = holder.chkbox.isChecked();
- }else{
- itemChecked[Integer.valueOf(position)] = holder.chkbox.isChecked();
- }
- mSimpleAdapter.put(p, itemChecked[position]);
- holder.chkbox.setChecked(itemChecked[position]);
- }
- });
- return convertView;
- }
- static class ViewHolder {
- TextView bankName;
- TextView messages;
- CheckBox chkbox;
- }}
- import com.ispl.CFSMS.helper.CardDetailsAdapter;
- public class WelcomePage extends Activity{
- CardDetailsAdapter mListAdapter;
- ArrayList<Integer> arList = new ArrayList<Integer>();
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.welcomepage);
- final ArrayList<CardDetails> cardResults = GetCardDetails();
- final ListView welcomelist = (ListView) findViewById(R.id.welcomelistID);
- welcomelist.setAdapter(new CardDetailsAdapter(this, cardResults));
- welcomelist.setOnItemLongClickListener(new OnItemLongClickListener() {
- public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
- Object o = welcomelist.getItemAtPosition(position);
- CardDetails fullObject = (CardDetails)o;
- Intent r=new Intent(WelcomePage.this , CardMenuActivity.class);
- r.putExtra("BankName", fullObject.getBankName());
- r.putExtra("CardNumber", fullObject.getCardNumber());
- startActivityForResult(r, position);
- return false;
- }
- });
- CheckBox checkbox = (CheckBox)findViewById(R.id.chkBoxID);
- Button saveTODbBtn = (Button)findViewById(R.id.saveID);
- saveTODbBtn.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- //get the checkbox status and save related details into database
- Intent intent=new Intent(WelcomePage.this, BankProjectActivity.class);
- startActivity(intent);
- }
- });
- }
- private ArrayList<CardDetails> GetCardDetails(){
- ArrayList<CardDetails> carddetailresults = new ArrayList<CardDetails>();
- CardDetails sr1 = new CardDetails();
- sr1.setBankName("Select All");
- sr1.setCardNumber("");
- sr1.setMessages("");
- carddetailresults.add(sr1);
- sr1 = new CardDetails();
- sr1.setBankName("HDFC Bank" +" "+ "xxxxx1234");
- sr1.setMessages("Messages: " + "10");
- carddetailresults.add(sr1);
- sr1 = new CardDetails();
- sr1.setBankName("ICICI" + " "+ "xxxxx2134");
- sr1.setMessages("Messages: 5");
- carddetailresults.add(sr1);
- sr1 = new CardDetails();
- sr1.setBankName("HSBC" + " "+ "xxxxx8796");
- sr1.setMessages("Messages: 2");
- carddetailresults.add(sr1);
- return carddetailresults;
- }}
- public View getView(final int position, View convertView,ViewGroup paramViewGroup)
- {
- final ViewHolder holder;
- LayoutInflater inflater=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
- if (convertView == null)
- {
- convertView=inflater.inflate(R.layout.addressbook, null);holder = new ViewHolder();
- holder.adddress_name=(TextView)convertView.findViewById(R.id.addressbook_name);
- holder.adddress_number=(TextView)convertView.findViewById(R.id.address_number);
- holder.adddress_name.setText(adddressbook_name.get(position).toString().trim())
- holder.adddress_number.setText(addressbook_number.get(position).toString().trim());
- holder.addressbook_check=(CheckBox)convertView.findViewById(R.id.address_check);convertView.setTag(holder);
- }
- else
- {
- holder = (ViewHolder) convertView.getTag();
- }
- holder.addressbook_check.setId(position);
- holder.addressbook_check.setOnClickListener(new OnClickListener()
- {
- public void onClick(View v)
- {
- CheckBox cb = (CheckBox) v;
- int id = cb.getId();
- if (thumbnailsselection[id])
- {
- cb.setChecked(false);
- thumbnailsselection[id] = false;
- }
- else
- {
- cb.setChecked(true);
- thumbnailsselection[id] = true;
- }
- }
- });
- holder.addressbook_check.setChecked(thumbnailsselection[position]);
- return convertView;
- }
- class ViewHolder
- {
- TextView adddress_name;
- TextView adddress_number;
- CheckBox addressbook_check;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement