Ste*_*pan 12 android listview bind android-adapter butterknife
我想使用ButterKnife绑定我在listView adpater中的视图.
我试过这个,但我不能简单地使用我的"旋转器"var.
public class WarmSpinnerAdapter extends ArrayAdapter<Warm> {
Context context;
public WarmSpinnerAdapter(Context context, int resource, Warm[] objects) {
super(context, resource, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = LayoutInflater.from(context).inflate(R.layout.item_spinner, null);
return v;
}
@OnClick(R.id.spinner)
public void onClick() {
//open dialog and select
}
static class ViewHolder {
@BindView(R.id.spinner)
MyTextView spinner;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
ome*_*aca 15
您应该将视图传递给ButterKnife以首先绑定它.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = LayoutInflater.from(context).inflate(R.layout.item_spinner, null);
ButterKnife.bind(this,v);
return v;
}
Run Code Online (Sandbox Code Playgroud)
然后您将访问您的视图.
ButterKnife 正在将您的视图绑定到该类ViewHolder,因此WarmSpinnerAdapter无法直接访问它。相反,您应该将这部分移到类中ViewHolder:
@OnClick(R.id.spinner)
public void onClick() {
//open dialog and select
}
Run Code Online (Sandbox Code Playgroud)
从那里,您可以从适配器调用内部方法或直接在适配器内部执行逻辑ViewHolder
| 归档时间: |
|
| 查看次数: |
9029 次 |
| 最近记录: |