请纠正我错在哪里。我试图在imageview点击上显示点击效果,但它抛出了空指针异常。在这个代码中我错了?它是在createAllImage抛出空指针异常()ImageView onClick影响片段
片段代码
public class DuaFragment extends Fragment implements View.OnTouchListener {
ImageView fear;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.dua_fragment,container,false);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
createAllImage();
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
fear.getDrawable().setColorFilter(0x77000000, PorterDuff.Mode.SRC_ATOP);
fear.invalidate();
break;
case MotionEvent.ACTION_UP:
fear.getDrawable().clearColorFilter();
fear.invalidate();
break;
}
return true;
}
void createAllImage() {
fear=(ImageView)getView().findViewById(R.id.fear);
fear.setOnTouchListener(this);
}
}
我的布局文件
<ImageView
android:id="@+id/fear"
style="@style/icon"
android:background="@drawable/fear_96" />
也许,fear.getDrawable()将返回null或恐惧是空..分享堆栈跟踪(logcat的),以获得更多的帮助 – W0rmH0le
fear.getDrawable()被扔空指针,所以我把它改为setColorFilter(0x77000000 , PorterDuff.Mode.SRC_ATOP); 。现在它不显示任何异常,但没有点击效果 – FaisalAhmed
您的ImageView有任何图像? – W0rmH0le