Reputation:
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
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
Reputation: 11477
Try this
Intent intent=new Intent(v.getContext(),OutgoingCallActivity.class);
// put extra methods
v.getContext().startActivity(intent);
Upvotes: 1
Reputation: 1
Write your onclicklistener on onBindViewHolder function and it will work.
Upvotes: 0