您的位置:首页 > 其它

实现BaseFragment

2016-07-28 22:56 323 查看
package liu.basedemo.base;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import liu.basedemo.R;

/**
* Fragment基类
* Created by 刘楠 on 2016/7/28 0028.21:45
*/
public abstract class BaseFragment extends Fragment {

private Activity mActivity;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivity = getActivity();
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

View rootView = bindLayout(inflater);
return rootView;
}

/**
* 子类必须实现
*
* @param inflater
* @return
*/
protected abstract View bindLayout(LayoutInflater inflater);

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);

initData();
initListener();
}

/**
* 子类可以不实现
*/
private void initData() {

}

/**
* 子类可以不实现
*/
private void initListener() {

}

/**
* 加载过场动画
*
* @param intent 意图
*/
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
/**
* 过场动画
*/
mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}

/**
* 加载过场动画
*
* @param intent      意图
* @param requestCode 请求码
*/
@Override
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode);

mActivity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}

/**
* 加载过场动画
*/
@Override
public void onDestroy() {
super.onDestroy();
mActivity.overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: