2

i have click on listview row layout and get text but its provide wrong data after then scrolling list means below code sales convert into service.

        convertView.setTag(viewHolder);

    viewHolder.clickViewLayout.setTag(position);
        viewHolder.clickViewLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //TextView tv = (TextView)v.findViewById(R.id.txtServiceAndSalesType);
                String stringServiceAndSalesType = viewHolder.txtServiceAndSalesType.getText().toString();
                if (stringServiceAndSalesType.equalsIgnoreCase("Sales")) {
                    context.startActivity(new Intent(context, SalesWizardActivity.class));
                } else {
                    context.startActivity(new Intent(context, ServiceWizardActivity.class));
                }
            }
        });
        viewHolder.emailBtn.setTag(position);
        viewHolder.emailBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



                int po = (Integer) v.getTag();
                String auditId;
                if(AppointmentItemjbjects.get(po).getCoreLeadId()==null&&AppointmentItemjbjects.get(po).getCoreLeadId()==""){
                    auditId = AppointmentItemjbjects.get(po).getCoreLeadId();
                }else {
                    auditId = AppointmentItemjbjects.get(po).getWorkorderId();
               }

            }
        });
  • i think it needs to get viewholder with adapter's position. remind that listview is recycling view. – iroiroys Dec 02 '15 at 10:54
  • Instead of using the text from the txtServiceAndSalesType, use the adapter's position to get the object at that position to decide which activity to call. – Narayan Acharya Dec 02 '15 at 10:57

0 Answers0