如何使用ButterKnife注释消除以下初始化代码?
import pandas as pd
pd.read_excel?
Error: Object `pd.read_excel` not found.
答案 0 :(得分:12)
使用ButterKnife 7 API中的@BindDrawable。
import butterknife.BindDrawable;
@BindDrawable(R.drawable.ic_expand_small_holo_light)
protected Drawable mExpandDrawable;
@BindDrawable(R.drawable.ic_collapse_small_holo_light)
protected Drawable mCollapseDrawable;
void init() {
ButterKnife.bind(this);
}
有 @BindString, @BindInt, @BindDimen, @BindColor, @BindBool 对于其他资源类型。
答案 1 :(得分:0)
如下所述,在ButterKnife中使用@Bind属性。
@BindDrawable(R.drawable.ic_expand_small_holo_light) Drawable mExpandDrawable;
在调用setContentView方法后的onCreate中,使用ButterKnife的bind方法(如果使用Activity)。
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.bind(this);
// TODO Use fields...
}
如果您使用的是Fragment,请使用以下代码初始化ButterKnife:
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fancy_fragment, container, false);
ButterKnife.bind(this, view);
// TODO Use fields...
return view;
}