J'ai l'adaptateur et je veux envoyer des valeurs à une autre activité par putExtra
Inside setOnClickListener
Y at-il un moyen de le faire.intent.putExtra dans l'adaptateur
HireMe.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
context.startActivity(new Intent(context, HireLater.class));
// intent.putExtra nameText & subjectText
}
});
}
Mon adaptateur HierAdapter.java
public class HireAdapter extends ArrayAdapter<HireItem>{
Context context;
public HireAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull List<HireItem> objects) {
super(context, resource, objects);
this.context = context;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null){
convertView = ((Activity)getContext()).getLayoutInflater()
.inflate(R.layout.list_item_teachers,parent,false);
Button HireMe = (Button) convertView.findViewById(R.id.hire_me);
HireMe.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
context.startActivity(new Intent(context, HireLater.class));
// intent.putExtra nameText & subjectText
}
});
}
HireItem teacherItem = getItem(position);
TextView nameText = (TextView)convertView.findViewById(R.id.result_name);
TextView subjectText = (TextView)convertView.findViewById(R.id.result_subject);
TextView levelText = (TextView)convertView.findViewById(R.id.level);
TextView mCity = (TextView)convertView.findViewById(R.id.result_city);
TextView mContact = (TextView)convertView.findViewById(R.id.result_phone);
TextView mQualification = (TextView)convertView.findViewById(R.id.Qua_teacher);
TextView mSalary = (TextView)convertView.findViewById(R.id.salary);
TextView mExperience = (TextView)convertView.findViewById(R.id.exTea);
//
nameText.setText(teacherItem.getResult_name());
subjectText.setText(teacherItem.getResult_subject());
levelText.setText(teacherItem.getResult_level());
mCity.setText(teacherItem.getResult_city());
//
mContact.setText(teacherItem.getResult_mobile());
mQualification.setText(teacherItem.getResult_qualification());
mSalary.setText(teacherItem.getResult_salary());
mExperience.setText(teacherItem.getResult_experince());
return convertView;
}}
SIGA este ejemplo que ya esta en stackoverfloe [link] (http://stackoverflow.com/questions/2091465/how-do -i-pass-data-between-activities-in-android-application) –
@IsaM Veuillez utiliser l'anglais –
Personnellement, j'essaie de laisser ce type de logique hors de l'adaptateur et de permettre à l'hôte Activity ou Fragment de s'en occuper. Je suggère d'utiliser une interface pour rappeler à l'activité/fragment avec les informations correctes, puis former l'intention là. – rpm