
本文共 4283 字,大约阅读时间需要 14 分钟。
Android Fragment ���������������������������
1. Fragment ���������������������
��� Android ������������ Fragment ������������������������������������������������������������������ setArguments
��������������������������������������������������������������������������������� Fragment ������������������������ newInstance
��������������������������� onActivityCreated
��� onViewCreated
��������������������������������������������������������� Fragment ���������������������������
������������
public class AFrament extends Fragment { private TextView a_textview; public static AFrament newInstance(String title) { AFrament aFragment = new AFrament(); Bundle bundle = new Bundle(); bundle.putString("title", title); aFragment.setArguments(bundle); return aFragment; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_a, container, false); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); a_textview = view.findViewById(R.id.fragmentA_textview); if (getArguments() != null) { a_textview.setText(getArguments().getString("title")); } }}
2. Fragment������������������������������������
��� FragmentActivity ��������� Fragment ������������������������������������������
- ������
FragmentManager
��������������� add
������������������ Fragment������replace
��������������������������������� Fragment���- ������������ Fragment ������������������������������������������������ Activity��������������������� Fragment���
������������
public class FragmentActivity extends AppCompatActivity { private Button button_fragmengchange; private AFrament aFragment; private BFragment bFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fragment); aFragment = AFrament.newInstance("���������������"); bFragment = new BFragment(); Bundle bundle = new Bundle(); bundle.putString("title", "���������b"); bFragment.setArguments(bundle); getFragmentManager().beginTransaction() .add(R.id.fragment_container, aFragment) .commitAllowingStateLoss(); button_fragmengchange = findViewById(R.id.button_fragmengchange); button_fragmengchange.setOnClickListener(v -> { getFragmentManager().beginTransaction() .replace(R.id.fragment_container, bFragment) .commitAllowingStateLoss(); }); }}
������������
commitAllowingStateLoss()
������������������������������������������������������������������- ��������� Fragment ������������
replace
������add
������������������������������������
3. Fragment view ������������������
Fragment ��������������������� onCreateView
���onViewCreated
���onActivityCreated
��� onDestroyView
��������������������������������������������������������������������� onViewCreated
������������������������������������������������������������ Fragment ���������
������������
public class BFragment extends Fragment { private TextView b_textview; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_b, container, false); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); b_textview = view.findViewById(R.id.fragmentB_textview); if (getArguments() != null) { b_textview.setText(getArguments().getString("title")); } }}
������������������
- phoenix ������������������ Fragment A ��� Fragment B ������������������
- ������������������������������ Fragment ��������������� Fragment������������������������������������������������ Fragment���
������������������������������������������ Fragment ������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
