this is my code 

import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

/**
 * Created by PPS on 4/2/2016.
 */
public class Search_Result_Adapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private final int HEADER = 0;
    private final int CHILD = 1;
    final private int REQUEST_CODE_ASK_PERMISSION = 123;
    Activity activity;
    private ArrayList<Integer> star_check = new ArrayList<Integer>();
    private ArrayList<String> user_id_list = new ArrayList<String>();
    private ArrayList<Object> data;
    private int click_position, star = 0;
    private Intent callIntent;

    public Search_Result_Adapter(Activity activity, ArrayList<Object> data) 
{
        this.activity = activity;
        this.data = data;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int 
viewType) {

        RecyclerView.ViewHolder holder = null;
        ArrayList<String> save_value = new ArrayList<>();
        save_value.add("0");
        DataHold.getInstance().setUser_list(save_value);

        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        switch (viewType) {
            case HEADER:
                View v_parent = 
inflater.inflate(R.layout.search_parent_result, parent, false);
                holder = new ParentViewHolder(v_parent);

                break;
            case CHILD:
                View v_child = 
inflater.inflate(R.layout.search_child_result, parent, false);
                holder = new ChildViewHolder(v_child);
                break;

            default:
                View v_parent1 = 
inflater.inflate(R.layout.search_parent_result, parent, false);
                holder = new ParentViewHolder(v_parent1);
//                Toast.makeText(activity.getApplicationContext(), "" + 
data.size(), Toast.LENGTH_SHORT).show();
                break;
        }
        return holder;
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, 
final int position) {

        if (holder.getItemViewType() == HEADER) {
            Search_Header_Model headermodel = (Search_Header_Model) 
data.get(position);
            ((ParentViewHolder) 
holder).address.setText(headermodel.getAddress());
//            Toast.makeText(activity.getApplicationContext(), "Header: 
"+headermodel.getAddress(), Toast.LENGTH_SHORT).show();
        } else if (holder.getItemViewType() == CHILD) {
            final Search_Child_Model child_model = (Search_Child_Model) 
data.get(position);
            ((ChildViewHolder) holder).row1.setText(child_model.getRow1());
            ((ChildViewHolder) holder).row2.setText(child_model.getRow2());
            ((ChildViewHolder) holder).row3.setText(child_model.getRow3());
            ((ChildViewHolder) holder).row4.setText(child_model.getRow4());
            ((ChildViewHolder) holder).row5.setText(child_model.getRow5());
            ((ChildViewHolder) holder).image2.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    if 
(star_check.contains(((ChildViewHolder)holder).getAdapterPosition())) {
                        for (int i = 0; i < star_check.size(); i++) {
                            if (star_check.get(i) == 
((ChildViewHolder)holder).getAdapterPosition()) {
                                star_check.remove(i);
                                ((ChildViewHolder) 
holder).image2.setImageResource(R.mipmap.single_blank);
                            }
                        }
                        updateUserList();
                    }
                    else {
                            ((ChildViewHolder) 
holder).image2.setImageResource(R.mipmap.single_filed);
                            
star_check.add(((ChildViewHolder)holder).getAdapterPosition());

                        updateUserList();
                    }
                }

                private void updateUserList() {
                    DataHold.getInstance().setSave_check("0");

                    user_id_list.add(child_model.getUser_id());
                    DataHold.getInstance().setUser_list(user_id_list);
                }
            });
            ((ChildViewHolder) holder).row1.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    click_position = position;
                    final Search_Child_Model child_model_click = 
(Search_Child_Model) data.get(click_position);

                    Dialog_Screen_row dsc = new Dialog_Screen_row(activity, 
R.style.AlertDialogCustom,
                            child_model_click.getRow1(), 
child_model_click.getRow2(), child_model_click.getRow3(),
                            child_model_click.getRow4(), 
child_model_click.getRow5(), child_model.getRow5(),
                            child_model.getMobile(), 
child_model.getUser_id(), child_model.getDate(), child_model.getComment());
                    dsc.setCanceledOnTouchOutside(true);
                    dsc.show();
                }

            });

            ((ChildViewHolder) holder).row2.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    click_position = position;
                    final Search_Child_Model child_model_click = 
(Search_Child_Model) data.get(click_position);

                    Dialog_Screen_row dsc = new Dialog_Screen_row(activity, 
R.style.AlertDialogCustom,
                            child_model_click.getRow1(), 
child_model_click.getRow2(), child_model_click.getRow3(),
                            child_model_click.getRow4(), 
child_model_click.getRow5(), child_model.getRow5(),
                            child_model.getMobile(), 
child_model.getUser_id(), child_model.getDate(), child_model.getComment());
                    dsc.setCanceledOnTouchOutside(true);
                    dsc.show();
                }
            });
            ((ChildViewHolder) holder).row3.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    click_position = position;
                    final Search_Child_Model child_model_click = 
(Search_Child_Model) data.get(click_position);

                    Dialog_Screen_row dsc = new Dialog_Screen_row(activity, 
R.style.AlertDialogCustom,
                            child_model_click.getRow1(), 
child_model_click.getRow2(), child_model_click.getRow3(),
                            child_model_click.getRow4(), 
child_model_click.getRow5(), child_model.getRow5(),
                            child_model.getMobile(), 
child_model.getUser_id(), child_model.getDate(), child_model.getComment());
                    dsc.setCanceledOnTouchOutside(true);
                    dsc.show();
                }
            });
            ((ChildViewHolder) holder).row4.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    click_position = position;
                    final Search_Child_Model child_model_click = 
(Search_Child_Model) data.get(click_position);

                    Dialog_Screen_row dsc = new Dialog_Screen_row(activity, 
R.style.AlertDialogCustom,
                            child_model_click.getRow1(), 
child_model_click.getRow2(), child_model_click.getRow3(),
                            child_model_click.getRow4(), 
child_model_click.getRow5(), child_model.getRow5(),
                            child_model.getMobile(), 
child_model.getUser_id(), child_model.getDate(), child_model.getComment());
                    dsc.setCanceledOnTouchOutside(true);
                    dsc.show();
                }
            });
            ((ChildViewHolder) holder).row5.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    click_position = position;
                    final Search_Child_Model child_model_click = 
(Search_Child_Model) data.get(click_position);

                    Dialog_Screen_row dsc = new Dialog_Screen_row(activity, 
R.style.AlertDialogCustom,
                            child_model_click.getRow1(), 
child_model_click.getRow2(), child_model_click.getRow3(),
                            child_model_click.getRow4(), 
child_model_click.getRow5(), child_model.getRow5(),
                            child_model.getMobile(), 
child_model.getUser_id(), child_model.getDate(), child_model.getComment());
                    dsc.setCanceledOnTouchOutside(true);
                    dsc.show();
                }
            });

            ((ChildViewHolder) holder).image3.setOnClickListener(new 
View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Dialog_Screen_x ds = new Dialog_Screen_x(activity, 
R.style.AlertDialogCustom, child_model.getMobile(), 
child_model.getUser_id(), "yes");
                    ds.setCanceledOnTouchOutside(true);
                    ds.show();
                }
            });
            ((ChildViewHolder) holder).image1.setOnClickListener(new 
View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    String mnumber = child_model.getMobile();
                    if (mnumber == null) {
                        mnumber = "";
                    }

                    if (mnumber.length() > 1) {

                        callIntent = new Intent(Intent.ACTION_CALL);
                        callIntent.setData(Uri.parse("tel:" + 
Uri.encode(mnumber.trim())));
                        callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        if (ActivityCompat.checkSelfPermission(activity, 
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                            // TODO: Consider calling
                            //    ActivityCompat#requestPermissions
                            // here to request the missing permissions, and 
then overriding
                            //   public void onRequestPermissionsResult(int 
requestCode, String[] permissions,
                            //                                         
 int[] grantResults)
                            // to handle the case where the user grants the 
permission. See the documentation
                            // for ActivityCompat#requestPermissions for 
more details.
                            if (Build.VERSION.SDK_INT >= 
Build.VERSION_CODES.M) {
                                activity.requestPermissions(new 
String[]{Manifest.permission.CALL_PHONE}, REQUEST_CODE_ASK_PERMISSION);
                            }
                        }
                        activity.startActivity(callIntent);
                    } else {
                        Toast.makeText(activity, "No Number Found", 
Toast.LENGTH_SHORT).show();
                    }
                }
            });
        } else {
            Toast.makeText(activity, "No data found", 
Toast.LENGTH_SHORT).show();
        }
    }


    @Override
    public int getItemViewType(int position1) {
        if (data.get(position1) instanceof Search_Header_Model) {
            return HEADER;
        } else if (data.get(position1) instanceof Search_Child_Model) {
            return CHILD;
        } else {
            return -1;
        }
    }

    @Override
    public int getItemCount() {
        return data.size();
    }


    private class ParentViewHolder extends RecyclerView.ViewHolder {
        TextView address;

        ParentViewHolder(View itemView) {
            super(itemView);

            address = (TextView) itemView.findViewById(R.id.text_head);
        }
    }

    private class ChildViewHolder extends RecyclerView.ViewHolder 
implements View.OnClickListener {
        private TextView row1, row2, row3, row4, row5;
        private ImageView image1, image2, image3;
        private LinearLayout linear1;

        ChildViewHolder(View itemView) {
            super(itemView);
            linear1 = (LinearLayout) itemView.findViewById(R.id.linear111);
            row1 = (AutoResizeTextView) itemView.findViewById(R.id.row1);
            row2 = (AutoResizeTextView) itemView.findViewById(R.id.row2);
            row3 = (AutoResizeTextView) itemView.findViewById(R.id.row3);
            row4 = (AutoResizeTextView) itemView.findViewById(R.id.row4);
            row5 = (AutoResizeTextView) itemView.findViewById(R.id.row5);
            image1 = (ImageView) itemView.findViewById(R.id.row_image1);
            image2 = (ImageView) itemView.findViewById(R.id.row_image2);
            image2.setOnClickListener(this);
            image3 = (ImageView) itemView.findViewById(R.id.row_image3);
        }

        @Override
        public void onClick(View view) {

        }
    }

}



-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/1d973e31-d44d-4080-9b05-bfde2e2700a7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to