2017-04-24 85 views
0

我有適配器並要通過putExtra裏面setOnClickListener一些值發送到另一個活動是有辦法做到這一點。intent.putExtra適配器

HireMe.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       context.startActivity(new Intent(context, HireLater.class)); 

       // intent.putExtra nameText & subjectText 

     } 
    }); 

} 

我的適配器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; 

}} 
+0

SIGA埃斯特ejemplo闕雅ESTA連接stackoverfloe [鏈接](http://stackoverflow.com/questions/2091465/how-do -i-傳遞數據的活動功能於Android的應用程序之間) –

+1

@IsaM請用英語 –

+1

我個人想離開這種邏輯在轉接器,並允許主機活動或片段照顧它。我建議使用一個接口來回調活動/片段並提供正確的信息,然後在那裏形成意圖。 – rpm

回答

1

你將如何把一個額外的在Intent,如果不創建變量並直接使用new Intent()

它只是改變你會做它在每一個其他地方的正常方式。

Intent intent = new Intent(context, HireLater.class); 
intent.putExtra("", ""); 
context.startActivity(intent); 

你可以得到你的答案也在這個其他協議棧的問題:https://stackoverflow.com/a/2091482/7426526