Как добавить / вычесть два объекта календаря в Android Studio - PullRequest
0 голосов
/ 11 марта 2019

Так что я новичок в разработке Android.Я работал над этим небольшим программным обеспечением под названием Tombstone calculator.пользователь предполагает ввести три информации.либо две информации будут использованы для заполнения последней.Укажите дату рождения или дату смерти, чтобы вычислить годы, месяц, дни, когда они жили.в противном случае, если указан День рождения и прожитые годы, будет рассчитана дата смерти.У меня уже есть три объекта Календаря, настроенных для этого пользовательского ввода, но я не уверен, как использовать их, чтобы получить желаемый результат.Вот код, который я получил на данный момент.Также по какой-то причине метод onClick не работает.

public class MainActivity extends AppCompatActivity {
    private EditText birthdayText;
    private EditText deathText;
    private EditText yearsLived;
    private Button compute;
    private TextView LivedYears;
    /*
    private Date bi;
    private Date de;
    private Date li;
    */


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        compute =  findViewById(R.id.compute);
        birthdayText  = findViewById(R.id.birthday);
        deathText = findViewById(R.id.death);
        yearsLived = findViewById(R.id.lived);
        LivedYears = findViewById(R.id.LivedYears);

        final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd ");
        final SimpleDateFormat livedFormat = new SimpleDateFormat("yy-MM-dd");
        compute.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String birthday = birthdayText.getText().toString();
                String death =  deathText.getText().toString();
                String lived =  yearsLived.getText().toString();

                try{
                    if(death.matches("")){
                        Calendar calBi = Calendar.getInstance();
                        Date bi = dateFormat.parse(birthday);
                        calBi.setTime(bi);
                        Calendar calLi = Calendar.getInstance();
                        Date li = livedFormat.parse(lived);
                        calLi.setTime(li);


                    }else if(birthday.matches("")){
                        Calendar calDe = Calendar.getInstance();
                        Date de = dateFormat.parse(death);
                        calDe.setTime(de);
                        Calendar calLi = Calendar.getInstance();
                        Date li = livedFormat.parse(lived);
                        calLi.setTime(li);

                    }else if (lived.matches("")){
                        Calendar calBi = Calendar.getInstance();
                        Date bi = dateFormat.parse(birthday);
                        calBi.setTime(bi);
                        Calendar calDe = Calendar.getInstance();
                        Date de = dateFormat.parse(death);
                        calDe.setTime(de);
                        long diff = calDe.getTimeInMillis() - calBi.getTimeInMillis();
                        LivedYears.setText(Long.toString(diff));


                    }



                }catch (ParseException e){
                    e.printStackTrace();
                }




            }
        });


    }
}
...