2

何が起こっているのかわかりませんが、例外が発生してアプリがフリーズします。

主な活動:

public class MainAcitivty extends FragmentActivity implements OnClickListener
{
    // ...

    public interface OnItemSelectedListener
    {
        public void onItemSelected(int resourceId);
    }

    OnItemSelectedListener mCallback;

    @Override
    public void onClick(View v)
    {
        if (v.getId() == R.id.my_imageView)
        {
            mCallback.onItemSelected(R.id.my_imageView);
        }
    }
}

断片:

public MyFragment extends Fragment implements MainAcitivty.OnItemSelectedListener
{
   @Override
   public void onItemSelected(int resourceId)
   {
       Log.i("INFO", "Selected: " + resourceId);
   }
}

選択したボタンをクリックすると、アプリがフリーズし、次の例外がスローされます。

E/AndroidRuntime(21649): 致命的な例外: メイン

E/AndroidRuntime(21649): java.lang.NullPointerException

E/AndroidRuntime (21649): com.example.MainActivity.onClick (MainActivity.java:53) で

E/AndroidRuntime(21649): android.view.View.performClick(View.java:4232) で

E/AndroidRuntime(21649): android.view.View$PerformClick.run(View.java:17298) で

E/AndroidRuntime(21649): android.os.Handler.handleCallback(Handler.java:615) で

E/AndroidRuntime(21649): android.os.Handler.dispatchMessage(Handler.java:92) で

E/AndroidRuntime(21649): android.os.Looper.loop(Looper.java:137)

E/AndroidRuntime(21649): android.app.ActivityThread.main(ActivityThread.java:4921) で

E/AndroidRuntime(21649): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で

E/AndroidRuntime(21649): java.lang.reflect.Method.invoke(Method.java:511) で

E/AndroidRuntime (21649): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1027) で

E/AndroidRuntime (21649): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:794) で

E/AndroidRuntime(21649): dalvik.system.NativeStart.main(ネイティブメソッド)

4

2 に答える 2