如何将 Activity 传递给 Fragment 中的 newInstance

ARR*_*R.s 4 java android android-fragments android-activity

如何将 Activity 传递给 Fragment 中的 newInstance

我想将 ActivityA 传递给 DialogFragmentA 中的 newInstance

因为我想在用户单击 DialogFragmentA 中的按钮时调用 Activity A 中的方法

如何设置?

谢谢!

public static DialogFragmentA newInstance(int radius,
                                                   float downScaleFactor) {
        SampleDialogFragment fragment = new SampleDialogFragment();
        Bundle args = new Bundle();
        args.putInt(
                BUNDLE_KEY_BLUR_RADIUS,
                radius
        );
        args.putFloat(
                BUNDLE_KEY_DOWN_SCALE_FACTOR,
                downScaleFactor
        );

        fragment.setArguments(args);

        return fragment;
    }

@Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

        Bundle args = getArguments();
        mRadius = args.getInt(BUNDLE_KEY_BLUR_RADIUS);
        mDownScaleFactor = args.getFloat(BUNDLE_KEY_DOWN_SCALE_FACTOR);
    }
Run Code Online (Sandbox Code Playgroud)

和我的活动

switch(view.getId()){
    case R.id.btn_submit:
        DialogFragmentA fragment = DialogFragmentA.newInstance(2,15);                      
        fragment.show(getSupportFragmentManager(),"blur_sample");
    break;
}


public void submitRegister(){ //I want to call this method when user click button in DialogFragmentA
 Toast.makeText(getApplicationContext(),"submitRegister",Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

And*_*dal 6

((MainActivity) getActivity()).doMethod()
Run Code Online (Sandbox Code Playgroud)

应该可以解决问题,如果您知道您使用的是什么 Activity !