在Android片段中初始化可绘制图像

时间:2016-01-25 20:27:58

标签: android android-drawable

我想在一个片段中的Android应用程序中将两张图片作为背景图像旋转。

现在,.xml中的一个静态地为

android:background="@drawable/background"

我正在尝试初始化Fragment.java中的两张照片,但我收到空指针错误。

private Drawable img1 =
ContextCompat.getDrawable(this.getContext(),R.drawable.background);

private Drawable img2 =
ContextCompat.getDrawable(this.getContext(),R.drawable.background2);

有没有人有任何建议我在这里收到空错误的原因?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可能需要getActivity()而不是getContext()。 API 23中添加了getContext,如果在先前版本中调用,我认为会产生NPE。

答案 1 :(得分:0)

在onCreateView中调用它,而不是直接分配值。它将解决您的问题。

private Drawable deleteIcon;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
deleteIcon= ContextCompat.getDrawable(getContext(),R.drawable.ic_delete_black_24dp);}