【发布时间】:2018-10-05 14:11:37
【问题描述】:
所以我试图设置片段活动内部的ImageView 的colorFilter。我可以单击该按钮,它按预期工作,除非我尝试设置 colorFilter 它崩溃并说:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference
如果我已经在点击它并且它正在工作,这怎么可能是空的?我如何解决它?这是我的 onCreateView:
myButton = (ImageView) view.findViewById(R.id.mybutton);
myButton.setOnClickListener(this);
// testing
myButton.getBackground().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY);
** 回答 **
正如我所指出的,我的解决方案是使用app:srcCompat="@drawable 来设置我的imageView 而不是背景。所以我刚刚删除了.getBackground。这是我的解决方案:
myButton.setColorFilter(ContextCompat.getColor(context, R.color.Gray), android.graphics.PorterDuff.Mode.MULTIPLY);
【问题讨论】:
-
@AliAhmed 我也看过了,那不是片段活动,那是关于颜色没有显示,我的崩溃了。
标签: android android-fragmentactivity android-button