封装MyFragment

来源:互联网 发布:understand mac注册码 编辑:程序博客网 时间:2024/06/01 08:53
public abstract class BaseFragment extends Fragment {    public abstract void initView(View view,Bundle savedInstanceState);    public abstract void initData();    public abstract int getLayoutId();    @Override    public void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);    }    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(getLayoutId(),container,false);        initView(view,savedInstanceState);        initData();        return super.onCreateView(inflater, container, savedInstanceState);    }

}

public class MyFragment extends BaseFragment{    private Button btn;    @Override        public void initView(View view, Bundle savedInstanceState) {            btn = (Button) view.findViewById(R.id.button);        }        @Override        public void initData() {            btn.setText("1111111111111");        }        @Override        public int getLayoutId() {        return R.layout.my_fragment_layout;    }}
my_fragment_layout:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <Button        android:text="我是fragment中的button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button"        android:layout_weight="1" /></LinearLayout>