How to Click on the each individual position using base adapter

后端 未结 5 1731
我在风中等你
我在风中等你 2020-12-12 07:23

I am using the base adapter , i have list which contains list with the text view (means left side sent items and below to that ,right side received items, i want to click o

5条回答
  •  孤街浪徒
    2020-12-12 08:25

    When clicked on list
    When Click on List

    Clicked on Delete icon
    when click on delete icon

    here is the code you can refer:

        public class CaseAdapter extends BaseAdapter{
    
            Context context;
            ArrayList list;
            LayoutInflater inflater;
    
            public CaseAdapter(Context context,ArrayList list)
            {
                this.context=context;
                this.list=list;
                inflater=(LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
            }
    
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return list.size();
            }
    
            @Override
            public Object getItem(int position) {
                // TODO Auto-generated method stub
                return position;
            }
    
            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return position;
            }
    
            @Override
            public View getView(final int position, View convertView, ViewGroup parent) {
                View row = convertView;
                 ViewHolder holder = null;
    
                if(row == null)
                {
    
                    row = inflater.inflate(R.layout.activity_home_screen, parent,false);            
                    holder = new ViewHolder(row);
                    row.setTag(holder);
    
                }
                else
                {
                    holder = (ViewHolder) row.getTag();
                }
                holder.caseNumber.setText(list.get(position).getCaseNo());
                holder.state.setText(list.get(position).getState());
                holder.date.setText(list.get(position).getDate());
    
                row.setOnClickListener(new OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
                         Toast.makeText(context, "record clicked!", Toast.LENGTH_LONG).show();
    
                    }
                });
    
                holder.delete.setOnClickListener(new OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
                        v=(View) v.getParent();//utilizing the View object...or we can use new view object
                        //View view=(View)v.getParent();//this one also we can use...but instead of v object you need to use view object;
    
                        TextView number=(TextView)v.findViewById(R.id.textView_case_number);
                        InfoDb db=new InfoDb(context);//using for remove record from database
                        db.open();
    
                        if(db.removeRecord(number.getText().toString()))
                        {
    list.remove(position);
                      Toast.makeText(context, "Record Deleted!", Toast.LENGTH_LONG).show();
                      CaseAdapter.this.notifyDataSetChanged();
    
                        }else
                             Toast.makeText(context, "Record not Deleted!", Toast.LENGTH_LONG).show();
    
                        db.close();
                    }
                });
    
                return row;
            }
    
    
            public class ViewHolder{
    
                TextView state,caseNumber,date;
                ImageView delete;
    
                public ViewHolder(View v){
                    state=(TextView)v.findViewById(R.id.textView_State);
                    caseNumber=(TextView)v.findViewById(R.id.textView_case_number);
                    date=(TextView)v.findViewById(R.id.textView_date);
                    delete=(ImageView)v.findViewById(R.id.ImageView_Delete);
    
    
                }
    
    
            }
    
        }
    

提交回复
热议问题