简体   繁体   English

如何将Activity传递给Fragment中的newInstance

[英]How to pass Activity to newInstance in Fragment

How to pass Activity to newInstance in Fragment 如何将Activity传递给Fragment中的newInstance

I want to pass ActivityA to newInstance in DialogFragmentA 我想将ActivityA传递给DialogFragmentA中的newInstance

because I want to call method in Activity A when user Click button in DialogFragmentA 因为我想在用户单击DialogFragmentA中的按钮时在活动A中调用方法

How to set it? 如何设置?

thanks! 谢谢!

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);
    }

and My Activity 和我的活动

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();
}
((MainActivity) getActivity()).doMethod()

如果您知道您正在使用什么活动,就应该做到这一点!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM