当前位置: 代码迷 >> 综合 >> 基类抽取BaseFragment篇
  详细解决方案

基类抽取BaseFragment篇

热度:54   发布时间:2024-01-28 23:55:09.0

为什么抽取BaseFragment基类?

 

BaseFragment 

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;public abstract class BaseFragment extends Fragment {//获取TAG的fragment名称protected final String TAG = this.getClass().getSimpleName();public Context context;@Overridepublic void onAttach(@NonNull Context ctx) {super.onAttach(ctx);context = ctx;}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View rootview = inflater.inflate(initLyout(), container, true);initView(rootview);initData(context);return rootview;}protected abstract int initLyout();//初始化布局protected abstract void initView(View view);//控件获取protected abstract void initData(Context context);//数据结构@Overridepublic void onDestroy() {super.onDestroy();}

继承BaseFragment 

import android.content.Context;
import android.view.View;
import android.widget.Button;import com.example.classroomapp.R;
import com.example.classroomapp.base.BaseFragment;public class ChatFragment extends BaseFragment {private Button viewById;@Overrideprotected int initLyout() {return R.layout.activity_main;}@Overrideprotected void initView(View view) {viewById = view.findViewById(R.id.bottom);}@Overrideprotected void initData(Context context) {viewById.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {}});}}

 

  相关解决方案