我目前正在学习 Butterknife,我需要在客户适配器生成的不同视图上绑定特定的 @OnClicks。我该怎么做呢?
我在这里的一个问题中看到了一个答案,说他在“ViewHolder”内使用“@onclick”。我不确定如何准确地实现这一点。有任何想法吗?
Thanks!
想象一下你有一个像这样的 ViewHolder。
static class ViewHolder {
@InjectView(R.id.user_name)
TextView userName;
@InjectView(R.id.user_title)
TextView userTitle;
public ViewHolder(View view) {
ButterKnife.inject(this, view);
}
}
您可以在适配器 getView 方法中为持有者中的每个视图绑定事件。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView != null) {
holder = (ViewHolder) convertView.getTag();
} else {
convertView = LayoutInflater.from(mContext).inflate(
R.layout.your_row_layout, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}
holder.userName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Your stuff here
}
});
holder.userTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Your stuff here
}
});
return convertView;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)