简单的封装Activity与fragement类

来源:互联网 发布:安庆网络问政平台新版 编辑:程序博客网 时间:2024/05/25 21:36

1.fragemnet类

public abstract class BaseFragment extends Fragment {


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




        //找到视图和控件的方法
        View view = initView(inflater,container);


        return view;
    }


    /**
     * 找到视图和控件的方法
     *
     * @param inflater
     * @param container
     * @return
     */
    protected abstract View initView(LayoutInflater inflater, ViewGroup container);


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


        //初始化数据
        initData();


    }


    protected abstract void initData();
}

在fragement中继承

public class FragmentHome extends BaseFragment {
    @Override
    protected View initView(LayoutInflater inflater, ViewGroup container) {


        View view = inflater.inflate(R.layout.activity_main, container, false);


        //findViewById


        return view;
    }


    @Override
    protected void initData() {


    }
}

2Baseactivity

public abstract class BaseActivity  extends AppCompatActivity implements View.OnClickListener,RadioGroup.OnCheckedChangeListener{
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(getLayoutId());


        //找到控件
        initView();
        //初始化数据
        initData();


    }




    /**
     * 返回布局id的方法
     * @return
     */
    protected abstract int getLayoutId();


    /**
     * 初始化控件使用 ,也就是findViewById的操作
     */
    protected abstract void initView();


    /**
     * 初始化数据的操作
     */
    protected abstract void initData();


}

Activity中继承

public class MainActivity extends BaseActivity {


    @Override
    protected int getLayoutId() {
        return 0;
    }


    @Override
    protected void initView() {


    }


    @Override
    protected void initData() {


        //获取数据
        NetDataUtil.getData("", MainActivity.this, new JsonCallBack() {
            @Override
            public void getJson(String json) {
                //具体进行解析


            }
        });
    }


    @Override
    public void onClick(View view) {


    }


    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {


    }
}



原创粉丝点击