我有一个包含自定义视图的片段。
片段中的我像这样ButterKnife.bind
:
View root = inflater.inflate(R.layout.fragment_home, container, false);
ButterKnife.bind(this, root);
我设法绑定观点。
现在,片段包含我创建的自定义视图。
在MenuToggleButton
自定义视图中,我想绑定另一个视图,并使用它进行操作。
我遇到的问题是,我不知道如何从自定义视图(位于片段中)中访问片段的根视图。
public MenuToggleButton(Context context, AttributeSet attrs) {
super(context, attrs);
final Activity activity = (Activity) context;
ButterKnife.bind(this, // need to get the fragment root view somehow);
}
如何才能获得片段根视图以便像我在片段中那样绑定它?
答案 0 :(得分:0)
您必须在自定义视图中使用ViewHolder才能在此处使用ButterKnife。或者,您可以通过findViewById以传统方式获取视图。 因此,使用ButterKnife,您的自定义视图将如下所示:
class MenuToggleButton{
public MenuToggleButton(Context context, AttributeSet attrs) {
super(context, attrs);
View v = inflate(context, R.layout.menu_toggle_button, this);
(new ViewHolder(v)).init();
}
class ViewHolder{
@BindView(R.id.some_view)
SomeView someView;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
init() {
someView.doSomething();
}
}
}