null pointer exception on calling interface method implemented in other class

前端 未结 5 705
鱼传尺愫
鱼传尺愫 2020-12-21 21:59

I am trying to call the method getFailureDialog() of the interface OnSelectedListener. The method is implemented in MainActivity.java.

5条回答
  •  感动是毒
    2020-12-21 22:49

    You need to modify Common and MainActivity. In Common add a basic constructor. Then activate the callback as shown in startMyCallback.

    Common.java

    public class Common
    {
    
     public Common() {}
    
     OnSelectedListener mCallback;
    
    
     public interface OnSelectedListener 
     {
        public void getFailureDialog();
     }
    
     public void myRecord(String email)
     {
        mCallback.getFailureDialog();  //null pointer exception here
     }
    }
    

    MainActivity.java

    public class MainActivity implements Common.OnSelectedListener
    {
    
        Common common = new Common();
    
        public MainActivity()
        {
    
        }
    
        public void startMyCallback()
        {
            common.mCallback = this;
        }
    
        @Override
        public void getFailureDialog()
        {
            RecordFailure fd = new RecordFailure(); 
            fd.show(getSupportFragmentManager(), "dialog");
        }
    }
    

提交回复
热议问题