BaseFragment

BaseFragment是一个公共抽象类,用于继承Fragment并实现View.OnClickListener。它包含成员变量mView和mActivity,以及抽象方法layout()、createPresenter()、initView()和setOnClike()。onCreateView()方法中负责初始化布局,而openNewActivity()和ToastUtils()提供了跳转新Activity和显示Toast的便利方法。在onDestroy()中释放资源并断开Presenter与View的连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public abstract class BaseFragment<P extends BasePresenter> extends Fragment implements View.OnClickListener {

    public View mView = null; //当前布局View 可用来寻找View中的控件
    protected static Context mActivity;
    protected P mPresenter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        if (mView == null) {
            mPresenter = createPresenter();
            mView = inflater.inflate(layout(), container, false);
            mActivity = getActivity();
            initView();
        } else {
            ViewGroup viewGroup = (ViewGroup) mView.getParent();
            if (viewGroup != null) {
                viewGroup.removeView(mView);
            }
        }
        return mView;
    }

    protected abstract int layout();

    protected abstract P createPresenter();

    protected abstract void initView();

    protected abstract void setOnClike(View v);

    @Override
    public void onClick(View v) {
        setOnClike(v);
    }

    public void openNewActivity(Class<?> clas) {
        startActivity(new Intent(getActivity(), clas));
    }

    public void ToastUtils(String str) {
        Toast.makeText(ConsulAppLication.getContext(), str, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        if (mPresenter != null) {
            mActivity = null;
            mPresenter.detachView();
            mPresenter = null;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值