java如何刷新片段内容
我已经创建了一个包含多个片段的应用程序
- 每次我点击一个与片段相关的按钮时,我都会改变片段李>
- 问题是我有一个函数,当我启用该函数时,我的应用程序必须转到指定的片段并启用所有选项,它可以启用一些额外的选项—一种类似于专家模式的所有片段李>
- 问题是应用程序转到该片段,但只有在单击其他按钮并单击该片段的返回按钮时,该选项才为启用李>
我如何解决这个问题
更改片段的代码:
public void ChangeFragment(View view) {
Fragment fragment;
if (view == findViewById(R.id.button_sp)) {
fragment = new SpoilerFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
if (view == findViewById(R.id.button_bl)) {
fragment = new BlinkFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
if (view == findViewById(R.id.button_br)) {
fragment = new BremslichtFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
if (view == findViewById(R.id.button_ru)) {
fragment = new RucklichtFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
if (view == findViewById(R.id.button_ruc)) {
fragment = new RuckfahrleuchteFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
if (view == findViewById(R.id.button_sz)) {
fragment = new SzenenFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
}
以下是启用专家模式后如何刷新或转到该片段的方法:
public void refresh() {
Fragment fragment;
fragment = new BlinkFragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
}
专家模式功能仅将标志设置为true。 以下是binkfragment的一部分:
public class BlinkFragment extends Fragment implements View.OnClickListener { private Switch switch_b1, switch_b2; private DiscreteSeekBar discrete_bl_g, discrete_bl_h; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_blink, container, false); discrete_bl_g = (DiscreteSeekBar) v.findViewById(R.id.discrete_bl_g); discrete_bl_h = (DiscreteSeekBar) v.findViewById(R.id.discrete_bl_h); discrete_bl_g.setEnabled(ledControl.instance.data.expertMode); discrete_bl_h.setEnabled(ledControl.instance.data.expertMode);
ledControl主类 https://docs.google.com/document/d/12gbxRStzLDmC2Q0kj7EJsx3fnHpeQ5sQNhWbTKTjxx8/edit?usp=sharing
共 (0) 个答案