請糾正我錯在哪裏。我試圖在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