Java 指定的时间与系统时间相同时运行方法
当分配的时间与系统时间相同时,我尝试运行我的方法。我确信两个日历打印出相同的结果,但它没有运行该方法Java 指定的时间与系统时间相同时运行方法,java,android,Java,Android,当分配的时间与系统时间相同时,我尝试运行我的方法。我确信两个日历打印出相同的结果,但它没有运行该方法 public class Intake extends Fragment { TextView tv1, tv2,tv3; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ return
public class Intake extends Fragment {
TextView tv1, tv2,tv3;
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.intake, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState){
tv1 = (TextView) getActivity().findViewById(R.id.tv1);
tv2 = (TextView) getActivity().findViewById(R.id.tv2);
tv3 = (TextView) getActivity().findViewById(R.id.tv3);
Calendar settime = Calendar.getInstance();
settime.set(Calendar.HOUR_OF_DAY, 10);
settime.set(Calendar.MINUTE,46);
settime.set(Calendar.SECOND,10);
Calendar systime = Calendar.getInstance();
systime.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String aa = String.valueOf((sdf.format(settime.getTime())));
String bb = String.valueOf((sdf.format(systime.getTime())));
tv1.setText(aa);
tv2.setText(bb);
if (aa == bb){
runMath();
}
}
}
谢谢在比较字符串时,请使用.equals函数,而不是==: 改变
if (aa == bb){
到
这里有一些关于这方面的更多信息:您的问题可能是您只在视图创建时检查,而不是连续检查。同样,对于时间之类的东西,你不能期望精确匹配,应该与阈值或大于/小于进行比较。谢谢!但@StaticShadow是正确的,它只会在视图创建时检查一次,而不是连续创建。
if (aa.equals(bb)){