碎片之间的计时器共享
Chronometer Share between fragments
我有一个包含 3 个片段的 FragmentActivity attached.This 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;
}
FragmentActivity onChronometerTick 侦听器
@Override
public void onChronometerTick(Chronometer chronometer) {
System.out.println("CRONOMETROOOO");
this.chronometer.setBase(chronometer.getBase());
}
好的,我找到了解决办法!
我没有为所有片段创建计时表,而是将其集成到片段活动片段中,因此只有我想要更改的文本才会被放置在其他片段中。
我有一个包含 3 个片段的 FragmentActivity attached.This 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;
}
FragmentActivity onChronometerTick 侦听器
@Override
public void onChronometerTick(Chronometer chronometer) {
System.out.println("CRONOMETROOOO");
this.chronometer.setBase(chronometer.getBase());
}
好的,我找到了解决办法!
我没有为所有片段创建计时表,而是将其集成到片段活动片段中,因此只有我想要更改的文本才会被放置在其他片段中。