package org.aisen.wen.ui.fragment; import android.app.Activity; import android.app.Fragment; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import org.aisen.wen.component.bitmaploader.core.BitmapOwner; import org.aisen.wen.support.utils.ViewUtils; import org.aisen.wen.ui.activity.BaseActivity; import org.aisen.wen.ui.view.IView; import butterknife.ButterKnife; /** * Created by wangdan on 16/10/10. */ public abstract class ABaseFragment extends Fragment implements BitmapOwner, IView { private View contentView; @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof BaseActivity) ((BaseActivity) context).addFragment(toString(), this); } @Override public void onDetach() { super.onDetach(); if (getActivity() != null && getActivity() instanceof BaseActivity) ((BaseActivity) getActivity()).removeFragment(this.toString()); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (setLayoutId() > 0) { contentView = inflater.inflate(setLayoutId(), null); contentView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return contentView; } return super.onCreateView(inflater, container, savedInstanceState); } /** * Action的home被点击了 * * @return */ public boolean onHomeClick() { return onBackClick(); } /** * 返回按键被点击了 * * @return */ public boolean onBackClick() { return false; } public View findViewById(int viewId) { if (getContentView() == null) return null; return getContentView().findViewById(viewId); } @Override public void setViewContext(Activity context) { } @Override public Activity getViewContext() { return getActivity(); } @Override public View getContentView() { return contentView; } @Override public void bindView(View contentView, Bundle savedInstanceState) { ButterKnife.bind(this, contentView); } @Override public void bindEvent(View contentView, Bundle savedInstanceState) { } @Override public boolean canDisplay() { return true; } public void showMessage(CharSequence msg) { if (!TextUtils.isEmpty(msg) && getActivity() != null) ViewUtils.showMessage(getActivity(), msg.toString()); } public void showMessage(int msgId) { if (getActivity() != null) showMessage(getString(msgId)); } /** * 指定Activity的ContentViewID * * @return */ public int setActivityLayoutId() { return -1; } public int setLayoutId() { return -1; } }