radioGroup+fragment的显示和隐藏
来源:互联网 发布:中国电信云计算公司 编辑:程序博客网 时间:2024/06/14 02:37
1、默认选择第一个跟
((RadioButton) mRadioGroup.getChildAt(0)).setChecked(true);
2、demo代码:
public class NeedExcuteFragment extends Fragment { private Unbinder unbinder; private Context context; private List<Fragment> fragmentList; private List<Fragment> visiableFragments = new ArrayList<>(); @BindView(R.id.remainder_login_layout) LinearLayout remainderLoginLayout; @BindView(R.id.work_task_rg) RadioGroup mRadioGroup; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_worktask, null); unbinder = ButterKnife.bind(this, view); context = getContext(); return view; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); EventBus.getDefault().register(this); initFragments(); mRadioGroup.setOnCheckedChangeListener(mCheckedListener); ((RadioButton) mRadioGroup.getChildAt(0)).setChecked(true); } @Override public void onResume() { super.onResume(); if (SPUtils.getBoolean(context, SPConstants.IS_LOGINED)) { remainderLoginLayout.setVisibility(View.GONE); } else { remainderLoginLayout.setVisibility(View.VISIBLE); } } private void initFragments() { fragmentList = new ArrayList<>(); fragmentList.add(new NeedAssignFragment()); fragmentList.add(new NeedTourFragment()); fragmentList.add(new NeedRepairFragment()); fragmentList.add(new ActiveRepairActivity()); fragmentList.add(new UrgeToDoListFragment()); } @OnClick(R.id.go_login) void onClick(View view) { switch (view.getId()) { case R.id.go_login: Bundle bundle = new Bundle(); bundle.putInt(SPConstants.FROM, SPConstants.NEED_EXCUTE); FragmentActivity.startActivity(getContext(), LoginFragment.class, bundle); break; } } @OnClick({R.id.need_assign_layout, R.id.need_tour_layout, R.id.repair_layout , R.id.auto_repair, R.id.catalyze_layout}) void DrawerItemClick(View view) { switch (view.getId()) { case R.id.need_assign_layout: if (((RadioButton) mRadioGroup.getChildAt(0)).isChecked()) { return; } ((RadioButton) mRadioGroup.getChildAt(0)).setChecked(true); break; case R.id.need_tour_layout: if (((RadioButton) mRadioGroup.getChildAt(1)).isChecked()) { return; } ((RadioButton) mRadioGroup.getChildAt(1)).setChecked(true); break; case R.id.repair_layout: if (((RadioButton) mRadioGroup.getChildAt(2)).isChecked()) { return; } ((RadioButton) mRadioGroup.getChildAt(2)).setChecked(true); break; case R.id.auto_repair: if (((RadioButton) mRadioGroup.getChildAt(3)).isChecked()) { return; } ((RadioButton) mRadioGroup.getChildAt(3)).setChecked(true); break; case R.id.catalyze_layout: if (((RadioButton) mRadioGroup.getChildAt(4)).isChecked()) { return; } ((RadioButton) mRadioGroup.getChildAt(4)).setChecked(true); break; } } @Override public void onDestroyView() { super.onDestroyView(); EventBus.getDefault().unregister(this); unbinder.unbind(); } @Subscribe(threadMode = ThreadMode.MAIN) public void changeView(MessageEntity msg) { if (msg.what == SPConstants.EXIT_WHAT) { remainderLoginLayout.setVisibility(View.VISIBLE); } } private RadioGroup.OnCheckedChangeListener mCheckedListener = new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, @IdRes int checkedId) {// int i = checkedId == R.id.need_assign_layout ? 0 : (checkedId == R.id.need_tour_layout ? 1 :// (checkedId == R.id.repair_layout ? 2 : (checkedId == R.id.auto_repair ? 3 :// (checkedId == R.id.catalyze_layout ? 4 : 0)))); View child = radioGroup.findViewById(checkedId); int i = radioGroup.indexOfChild(child); FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); Fragment fragment = fragmentList.get(i); if (fragment.isAdded()) { transaction.show(fragment); } else { transaction.add(R.id.container_layout, fragment); visiableFragments.add(fragment); } for (Fragment fragment1 : visiableFragments) { if (fragment1 != fragment) { if (fragment1.isVisible()) { //判断fragment是否正在显示 transaction.hide(fragment1); //隐藏fragment transaction.addToBackStack(null); } } } transaction.commit(); } };}
0 0
- radioGroup+fragment的显示和隐藏
- 关于Fragment的显示与隐藏结合RadioGroup的默认选中问题
- ApiDemos---Fragment的显示和隐藏
- 关于fragment显示和隐藏的说明
- Fragment软键盘的显示和隐藏
- fragment的显示 隐藏
- Android中RadioGroup和Fragment的应用
- Fragment的隐藏与显示
- Fragment的隐藏与显示
- Fragment的隐藏于显示
- Fragment的隐藏和
- 获取网络状态以及Fragment的隐藏和显示使用
- RadioGroup+Fragment的替换
- 对Fragment的封装和fragment的显示隐藏回退栈管理
- ListView控制Fragment的显示与隐藏
- Fragment的显示与隐藏及demo
- Fragment的显示与隐藏问题
- Android Fragment隐藏显示调用的方法
- 三分查找
- UNIX再学习 -- 信号
- tomcat使用log4j打印应用日志
- 网络中的各层协议
- Flume中的TaildirSource
- radioGroup+fragment的显示和隐藏
- android自定义带入场出场动画dialog
- oracle创建job并执行job及JOB问题解决汇总
- 03-Ubuntu-gcc命令行调试
- Effective Object_C 2.0 编写高质量ios与OS X代码的52个有效方法之一
- csdn的第一篇博客
- 程序性能优化之map影响
- java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L
- IntelliJ IDEA提示找不到符号,或程序包不存在