Android fragment的正确姿势 通过bundle传递参数

BaseFragment

public abstract class BaseFragment extends Fragment {
    public View view;
    private ViewGroup viewGroup;
    private Context mContext;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        view = LayoutInflater.from(getActivity()).inflate(setLayoutResourceID(), container, false);
        this.viewGroup = container;

        mContext = getActivity();
        Init(view, getArguments());

        return view;
    }

    public abstract void Init(View view, Bundle bundle);

    public abstract int setLayoutResourceID();
}

实现类

public class BaseFragment2 extends BaseFragment {

    public static BaseFragment2 getInstance(BaseBean model) {
        // 通过bundle传递数据
        Bundle bundle = new Bundle();
        // bundle.putParcelable("bean", model);
        bundle.putString("key", "value");
        BaseFragment2 fragment = new BaseFragment2();
        fragment.setArguments(bundle);
        return fragment;
    }

    @Override
    public void Init(View view, Bundle bundle) {

    }

    @Override
    public int setLayoutResourceID() {
        return 0;
    }
}

猜你喜欢

转载自blog.csdn.net/u010838785/article/details/80751670