0
votes

i want to display trimester in my app and i don't know how to display please help me how to do.and here is my code for week display. Thank you

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_display);

    sharedpreferences = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);

    Bundle b = getIntent().getExtras();

    txt_date = (TextView) findViewById(R.id.Date_Value);
    txt_week = (TextView) findViewById(R.id.Week_Value);
    txt_baby = (TextView) findViewById(R.id.Baby_Value);
    txt_mother = (TextView) findViewById(R.id.Mother_Value);
    txt_tremester = (TextView) findViewById(R.id.Tremester_Value);

    txt_baby.setText(b.getCharSequence("baby_name"));
    txt_mother.setText(b.getCharSequence("mother_name"));
    txt_tremester.setText(b.getCharSequence("tremester"));

    img_week = (ImageView) findViewById(R.id.image_week);
    img_slide = (ImageView) findViewById(R.id.image_slide);
    img_BMI = (ImageView) findViewById(R.id.image_BMI);
    img_setting = (ImageView) findViewById(R.id.image_setting);
    //img_week = (ImageView) findViewById(R.id.image_week);

    String dob = sharedpreferences.getString("dob", null);

    final Calendar c = Calendar.getInstance();
    year  = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day   = c.get(Calendar.DAY_OF_MONTH);

    txt_date.setText(new StringBuilder()
            // Month is 0 based, just add 1
            .append(year).append("-").append(month + 1).append("-").append(day));

    String current_dob = txt_date.getText().toString();

    StringTokenizer current_tokens = new StringTokenizer(current_dob, "-");
    current_year = current_tokens.nextToken();
    current_month = current_tokens.nextToken();
    current_date = current_tokens.nextToken();

    System.out.println("year==>"+Integer.parseInt(current_year));
    System.out.println("month==>"+Integer.parseInt(current_month));
    System.out.println("date==>"+Integer.parseInt(current_date));

    StringTokenizer tokens = new StringTokenizer(dob, "-");
    selected_year = tokens.nextToken();
    selected_month = tokens.nextToken();
    selected_date = tokens.nextToken();

    System.out.println("year==>"+Integer.parseInt(selected_year));
    System.out.println("month==>"+Integer.parseInt(selected_month));
    System.out.println("date==>"+Integer.parseInt(selected_date));

    getNoOfWeek();

    if(test == true)
    {
        txt_week.setText(String.valueOf(week));
    }
    else
    {
        txt_week.setText(" ");
    }
    img_week.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
 }

private void getNoOfWeek() {

    Calendar date1 = Calendar.getInstance();
    Calendar date2 = Calendar.getInstance();

    date1.clear();
    date1.set(Integer.parseInt(selected_year),Integer.parseInt(selected_month),Integer.parseInt(selected_date)); // set date 1 (yyyy,mm,dd)
    System.out.println("Selected Date==>>"+date1);

    date2.clear();
    date2.set(Integer.parseInt(current_year),Integer.parseInt(current_month),Integer.parseInt(current_date));
    System.out.println("Current Date==>>"+date2);

    long diff = date2.getTimeInMillis() - date1.getTimeInMillis();
    float dayCount = (float) diff / (24 * 60 * 60 * 1000);
    week = (int) (dayCount / 7);

    if(week <= 0)
    {
        Toast.makeText(this, "Sry System Error", Toast.LENGTH_SHORT).show();
        System.out.println("Week==>>"+week);
        test=false;
    }
    else
    {
        Toast.makeText(this, "Done", Toast.LENGTH_SHORT).show();
        System.out.println("Week==>>"+week);
        test=true;
    }
    System.out.println("Week==>>"+week);

}
1
Where are you getting the problem??jack jay
main problem is that i don't know this logic and how to do codetapan prajapati
calculate total months between two dates and then you can easily get trimester value.jack jay
for (i = 0;i <= 12;i++){ Toast.makeText(this, "trimester", Toast.LENGTH_SHORT).show(); System.out.print("trimester ==> 1" + trimester); txt_tremester.setText(String.valueOf(trimester)); break; } this is my code it's not worktapan prajapati

1 Answers

0
votes

try this code,it's work properly

   if (week >= 0 && week <= 12) {
            trimester = 1;
            System.out.print("trimester ==> 1" + trimester);
            txt_tremester.setText(String.valueOf(trimester));
        } else if (week >= 13 && week <= 27) {
            trimester = 2;
            System.out.print("trimester ==> 2" + trimester);
            txt_tremester.setText(String.valueOf(trimester));
        } else if (week >= 28 && week <= 42) {
            trimester = 3;
            System.out.print("trimester ==>3" + trimester);
            txt_tremester.setText(String.valueOf(trimester));
        }