user7620502
user7620502

Reputation:

Unable to start new activity using Intent

I am calling an activity and also transferring the values from adapter to the next activity the values are transferred but unable to star the activity and also there is no error just the next activity doesn't open

Holder:

public class ContactReadHolder extends RecyclerView.ViewHolder {

    TextView contactName, contactPhone;
    ImageButton contactCall;
    public ContactReadHolder(View itemView) {
        super(itemView);

        context =itemView.getContext();

        contactName = (TextView) itemView.findViewById(R.id.contact_list_name);
        contactPhone = (TextView) itemView.findViewById(R.id.contact_list_phone);
        contactCall = (ImageButton) itemView.findViewById(R.id.contact_list_call);
    }
}

This s my adapter code and i have implented listner in the onBindViewHolder but still it soesn't work and also i have tried in Holder class also

Adapter:

public class ContactReadAdapter extends RecyclerView.Adapter<ContactReadAdapter.ContactReadHolder> {

    private LayoutInflater layoutInflater;
    private List<ContactListModel> contactListModelList;
    private Context context;

    public ContactReadAdapter(List<ContactListModel> contactListModelList, Context context) {

        this.contactListModelList = contactListModelList;
        this.context = context;
    }


    @NonNull
    @Override
    public ContactReadHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        layoutInflater = LayoutInflater.from(context);
        View view = layoutInflater.inflate(R.layout.abc_contact_layout, parent, false);

        ContactReadHolder contactReadHolder = new ContactReadHolder(view);
        return contactReadHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull final ContactReadHolder holder, int position) {

        final TextView contactName, contactPhone;

        contactName = holder.contactName;
        contactPhone = holder.contactPhone;

        contactName.setText(contactListModelList.get(position).getModel_contact_name());
        contactPhone.setText(contactListModelList.get(position).getModel_contact_phone());

        holder.contactCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Log.d("duit","clicked ");
                Intent intent=new Intent(context,OutgoingCallActivity.class);
                String string_contactName=holder.contactName.getText().toString();
                String string_contactPhone=holder.contactPhone.getText().toString();

                Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
                intent.putExtra("user_name",string_contactName);
                intent.putExtra("calleeNumber", string_contactPhone);

                context.startActivity(intent);
            }
        });
    }

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

Upvotes: 0

Views: 60

Answers (3)

seekingStillness
seekingStillness

Reputation: 5093

       Intent intent=new Intent(contactName.getContext(),OutgoingCallActivity.class);
        String string_contactName=holder.contactName.getText().toString();
        String string_contactPhone=holder.contactPhone.getText().toString();

        Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
        intent.putExtra("user_name",string_contactName);
        intent.putExtra("calleeNumber", string_contactPhone);

        contactName.getContext().startActivity(intent);

or

               Intent intent=new Intent(holder.contactName.getContext(),OutgoingCallActivity.class);
            String string_contactName=holder.contactName.getText().toString();
            String string_contactPhone=holder.contactPhone.getText().toString();

            Log.d("duit","clicked " + string_contactName +" "+  string_contactPhone);
            intent.putExtra("user_name",string_contactName);
            intent.putExtra("calleeNumber", string_contactPhone);

            holder.contactName.getContext().startActivity(intent);

Upvotes: 0

Santanu Sur
Santanu Sur

Reputation: 11477

Try this

 Intent intent=new Intent(v.getContext(),OutgoingCallActivity.class);
 // put extra methods
 v.getContext().startActivity(intent);

Upvotes: 1

Ghumdan Al-Sabahi
Ghumdan Al-Sabahi

Reputation: 1

Write your onclicklistener on onBindViewHolder function and it will work.

Upvotes: 0

Related Questions