0

我得到一个 NullPointerException 但我不知道为什么。我正在使用一个 ImageButton,当我单击按钮的可绘制对象时,它会发生变化。我在我的代码中找不到问题。有人可以帮助我吗?这是我的代码。谢谢。

if(v.getId() == R.id.btn_repetir){
            Drawable drawable = buttonRepeat.getDrawable();
            if (drawable.getConstantState().equals(getResources().getDrawable(R.drawable.repeat).getConstantState())){
                mediaPlayer.setLooping(true);
                buttonRepeat.setImageResource(R.drawable.repeat_pulsado);
            }
            else{
                mediaPlayer.setLooping(false);
                buttonRepeat.setImageResource(R.drawable.repeat);
            }

        }

这是我的日志猫:

06-25 14:18:32.450: E/AndroidRuntime(3445): FATAL EXCEPTION: main
06-25 14:18:32.450: E/AndroidRuntime(3445): java.lang.NullPointerException
06-25 14:18:32.450: E/AndroidRuntime(3445):     at my.package.com.Activity.onClick(Activity.java:238)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.view.View.performClick(View.java:2501)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.view.View$PerformClick.run(View.java:9107)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.os.Handler.handleCallback(Handler.java:587)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.os.Looper.loop(Looper.java:130)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at android.app.ActivityThread.main(ActivityThread.java:3835)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at java.lang.reflect.Method.invokeNative(Native Method)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at java.lang.reflect.Method.invoke(Method.java:507)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
06-25 14:18:32.450: E/AndroidRuntime(3445):     at dalvik.system.NativeStart.main(Native Method)

问题的主线是:

if(drawable.getConstantState().equals(getResources().getDrawable(R.drawable.repeat).getConstantState()))

可绘制对象存在。

4

0 回答 0