Framgment加载
1.继承Fragment,重写onCreateView,onActivityCreated方法
//FirstFragment
public class FirstFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.first_fragment, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
FragmentActivity fragmentActivity = getActivity();
fragmentActivity.findViewById(R.id.viewId).setText("123456");
}
}
2.xml文件中添加Layout,id为fragment
Activity创建时使用FragmentManager 加载
//Activity OnCreate
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.fragment, new FirstFragment());
transaction.commit();
Fragment之间的替换与参数传递
//FirstFragment
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
Bundle bundle = new Bundle();
bundle.putString("text","123");
NextFragment fragment = new NextFragment();
fragment.setArguments(bundle);
transaction.replace(R.id.fragment,fragment);
transaction.commit();
//NextFragment
public class FirsrtFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.next_fragment, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String text = this.getArguments().get("text").toString();
FragmentActivity fragmentActivity = getActivity();
fragmentActivity.findViewById(R.id.mTextView)).setText(text);
}
}