您的位置:首页 > 其它

Activity和fragment的封装

2017-10-24 13:03 134 查看
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) {

    }

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