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)){