Android在片段活动中设置滤色器

时间:2018-10-05 05:52:29

标签: android android-fragmentactivity android-button

因此,我尝试设置片段活动内的colorFilter的{​​{1}}。我可以单击该按钮,它会按预期工作,但当我尝试设置colorFilter时会崩溃并说:

ImageView

如果我已经单击它并且它可以正常工作,如何将其设置为null?我如何解决它?这是我的onCreateView:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference

**答案** 如前所述,我的解决方案是使用myButton = (ImageView) view.findViewById(R.id.mybutton); myButton.setOnClickListener(this); // testing myButton.getBackground().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY); 设置imageView而不是背景。因此,我刚刚删除了app:srcCompat="@drawable。这是我的解决方案:

.getBackground

1 个答案:

答案 0 :(得分:3)

这是因为您的getBackground给出了null。 您有一个imageview。可能是您在xml中设置了其“ src”而不是“ background”。 如果要继续操作,请在xml中设置背景。

谢谢