MyActivity包含ListView
个TextViews
和ImageView
。
setOnClickListner
如何ImageView
为每个listItem
?
listView的适配器代码:
public class eProjectAdapter extends ArrayAdapter<eProjectDetails> {
private ArrayList<eProjectDetails> arrayList;
private Context context;
public eProjectAdapter(Context context, ArrayList<eProjectDetails> al) {
super(context,0,al);
this.context = context;
arrayList=al;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View currentView=convertView;
if(currentView==null)
currentView = LayoutInflater.from(context).inflate(R.layout.list_item,parent,false);
TextView tv1 = (TextView) currentView.findViewById(R.id.project_name);
TextView tv2 = (TextView) currentView.findViewById(R.id.project_hrs);
TextView tv3 = (TextView) currentView.findViewById(R.id.income_tv);
eProjectDetails pd = arrayList.get(position);
tv1.setText(pd.getName());
tv2.setText("Hours Spent : "+Integer.toString(pd.getHours()));
tv3.setText("Income earned : $"+pd.getRate()*pd.getHours());
if(pd.getLead()) {
ImageView img = (ImageView) currentView.findViewById(R.id.edit_img);
img.setImageResource(R.drawable.edit);
img.setBackgroundColor(context.getResources().getColor(R.color.reqBlue));
}
return currentView;
}
}
答案 0 :(得分:2)
为它尝试setOnClickListener:
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//todo
}
});