我正在创建一个新的Fragment,并希望设置一些视图元素属性。这是我尝试的方法:
new DefaultSlide()
.setImage(R.drawable.logo)
.setTitle("blabla")
.setText("fubar"));
这是我的DefualtSlide:
public class DefaultSlide extends SlideFragment {
@BindView(R.id.defaultImage)
ImageView defImage;
@BindView(R.id.defaultTitle)
TextView title;
@BindView(R.id.defaultText)
TextView text;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_default_slide, container, false);
ButterKnife.bind(this, view);
return view;
}
public DefaultSlide setImage(int image) {
defImage.setImageResource(image);
return this;
}
public DefaultSlide setTitle(String title) {
this.title.setText(title);
return this;
}
public DefaultSlide setText(String text) {
this.text.setText(text);
return this;
}
@Override
public int backgroundColor() {
return R.color.backgroundColor;
}
@Override
public int buttonsColor() {
return R.color.colorPrimary;
}
}
问题是,我得到了一个空指针异常。我的猜测是view元素尚不可见,因此我无法访问它们。创建片段时,如何设置视图服装是否有最佳实践?
答案 0 :(得分:1)
您必须传递捆绑中的值并在onCreateView中访问它们,并通过传递这些值来调用相关方法。