Skip to content Skip to sidebar Skip to footer

Click Event Not Working On Button In Listview Item

I am using a custom Listview with Custom views as list elements, each list item is a separate Custom view. The problem which I am facing is , click event on button in 1st item of L

Solution 1:

try this it will work

publicclassContactsAdapterextendsBaseAdapter {

ArrayList<ContactInfo> mlist;
Context mcontext;


 publicBluetoothChatadpter(Context context,ArrayList<ChatInfo> mchtlist) {      
    mlist =  mchtlist;
    mcontext = context;

}

@OverridepublicintgetCount() {
    return mlist.size();
}

@Overridepublic Object getItem(int postion) {
    return mlist.get(postion);
}

@OverridepubliclonggetItemId(int position) {
    return position;
}

@Overridepublic View getView(int position, View convertview, ViewGroup viewgroup){
        Viewview=null;
        if(convertview == null){
            LayoutInflaterinflater= context.getLayoutInflater();
            view = inflater.inflate(R.layout.contactrow, null);

            ContactHolderholder=newContactHolder();

            holder.txtviewfirstname = (TextView)view.findViewById(R.id.firstname);
            holder.txtviewphone = (TextView)view.findViewById(R.id.phone);
            holder.chkselected = (CheckBox)view.findViewById(R.id.check);

            setOnClickListener(newOnClickListener() {
    @OverridepublicvoidonClick(View arg0) {
        // to open the selected file in resp// do your work here
             }});


chkselected .setOnClickListener(newOnClickListener() {
    @OverridepublicvoidonClick(View v) {
// Toast.makeText(context,// "checked is clicke="+pos, 12).show();if (chkselected.isChecked())          
                   {            

                    // do your work here
        } else {

 // do your work here                               
        }
    }
});



        view.setTag(holder);

    }
        else{
            view = convertview;
        }
        ContactHolderholder2= (ContactHolder) view.getTag();
        holder2.txtviewfirstname.setText(list.get(position).firstname);
        holder2.txtviewphone.setText(list.get(position).phonenumber);
        holder2.chkselected.setChecked(list.get(position).selected);
        return view;
    }

   }

Solution 2:

publicclassContactsAdapterextendsBaseAdapter {

ArrayList<ContactInfo> mlist;
Context mcontext;


 publicBluetoothChatadpter(Context context,ArrayList<ChatInfo> mchtlist) {      
    mlist =  mchtlist;
    mcontext = context;

}

@OverridepublicintgetCount() {
    return mlist.size();
}

@Overridepublic Object getItem(int postion) {
    return mlist.get(postion);
}

@OverridepubliclonggetItemId(int position) {
    return position;
}

@Overridepublic View getView(int position, View convertview, ViewGroup viewgroup){
        Viewview=null;
        if(convertview == null){
            LayoutInflaterinflater= context.getLayoutInflater();
            view = inflater.inflate(R.layout.contactrow, null);

            ContactHolderholder=newContactHolder();

            holder.txtviewfirstname = (TextView)view.findViewById(R.id.firstname);
            holder.txtviewphone = (TextView)view.findViewById(R.id.phone);
            holder.chkselected = (CheckBox)view.findViewById(R.id.check);

            holder.chkselected.setOnCheckChangeListener(newCheckchangeListener() );



        view.setTag(holder);

    }
        else{
            view = convertview;
        }
        ContactHolderholder2= (ContactHolder) view.getTag();
        holder2.txtviewfirstname.setText(list.get(position).firstname);
        holder2.txtviewphone.setText(list.get(position).phonenumber);
        holder2.chkselected.setChecked(list.get(position).selected);
        return view;
    }

    classCheckchangeListenerimplementsOnCheckedChangeListener {


        publicCheckchangeListener() {
            // TODO Auto-generated constructor stub



        }

        @OverridepublicvoidonCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            // TODO Auto-generated method stubif (isChecked) {
                 // do your work here

            } else {
                 // do your work here

            }


        }
    }



   }

Solution 3:

You can try to set onClick event in your Custom adapter and if you have time then check this tutorial for reference - http://androidforbeginners.blogspot.it/2010/03/clicking-buttons-in-listview-row.html

Post a Comment for "Click Event Not Working On Button In Listview Item"