代码之家  ›  专栏  ›  技术社区  ›  cdlc

碎片之间的计时表份额

  •  0
  • cdlc  · 技术社区  · 9 年前

    我有一个附加了3个碎片的碎片活动。这3个片段有一个计时表,我希望它们之间共享相同的时间。。。

    • 我试着同时开始他们,但有时他们突然从00.00开始。。。
    • 我试图通过onChronometerTick()将时间存储在FragmentActivity上,但似乎不起作用。。。

    有人能告诉我怎么做我想做的吗?

    片段1

    public class Run1Fragment extends Fragment {
    private Chronometer chronometer;
    private WearRunActivity runActivity;
    private Run2Fragment run2;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.layout_run1, container, false);
        chronometer = (Chronometer) view.findViewById(R.id.chronometer);
        runActivity = new WearRunActivity();
        chronometer.setOnChronometerTickListener(runActivity);
        chronometer.start();
    
        return view;
    }
    

    片段2

    public class Run2Fragment extends Fragment {
    private Chronometer r2Chronometer;
    Run1Fragment run1;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.layout_run2, container, false);
        r2Chronometer = (Chronometer) view.findViewById(R.id.chronometer);
    
        /*r2Chronometer.setBase(run1.getChronometer().getBase());
        r2Chronometer.start();*/
    
        return view;
    }
    

    计时计时器上的碎片活动Tick侦听器

    @Override
    public void onChronometerTick(Chronometer chronometer) {
        System.out.println("CRONOMETROOOO");
        this.chronometer.setBase(chronometer.getBase());
    }
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   cdlc    9 年前

    好的,我找到了解决方案!

    我没有为所有片段创建计时表,而是将其集成到片段片段中,因此只有我想更改的文本才会放在其他片段中。