简单的封装Activity与fragement类

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) {


    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓 Fragment 是一种 UI 组件,它可以被添加到 Activity 中,用于实现复杂的界面布局和交互。在使用 Fragment 进行编程时,需要遵循以下步骤: 1.创建 Fragment :定义一个继承自 Fragment 的子,并实现该的生命周期方法和 UI 布局。 2.在 Activity 中添加 Fragment:通过 FragmentManager 将 Fragment 添加到 Activity 中。 3.与 Fragment 交互:通过 Fragment 提供的接口与 Activity 中其他组件进行交互,比如监听按钮点击事件、传递数据等。 下面是一个简单的示例,演示如何创建和使用 Fragment: 1. 创建 Fragment ``` public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // 加载布局文件 View view = inflater.inflate(R.layout.fragment_layout, container, false); // 获取布局中的控件 Button btn = (Button) view.findViewById(R.id.btn_fragment); // 设置按钮点击事件 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 在 Fragment 中执行操作 } }); return view; } } ``` 2. 在 Activity 中添加 Fragment ``` public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取 FragmentManager FragmentManager fragmentManager = getSupportFragmentManager(); // 开启事务 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); // 添加 Fragment MyFragment fragment = new MyFragment(); fragmentTransaction.add(R.id.fragment_container, fragment); // 提交事务 fragmentTransaction.commit(); } } ``` 3. 与 Fragment 交互 ``` public class MainActivity extends AppCompatActivity implements MyFragment.OnButtonClickListener { @Override public void onButtonClick() { // 在 Activity 中执行操作 } } ``` 在 Fragment 中定义接口: ``` public class MyFragment extends Fragment { public interface OnButtonClickListener { void onButtonClick(); } private OnButtonClickListener mListener; @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnButtonClickListener) { mListener = (OnButtonClickListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnButtonClickListener"); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // ... } private void onButtonClicked() { if (mListener != null) { mListener.onButtonClick(); } } } ``` 在 Activity 中实现接口: ``` public class MainActivity extends AppCompatActivity implements MyFragment.OnButtonClickListener { @Override protected void onCreate(Bundle savedInstanceState) { // ... } @Override public void onButtonClick() { // ... } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值