2017-05-31 4 views
0

私は自分のアプリにトリムスターを表示したいと私は表示する方法がわからない私に行う方法を助けてください。ここに私のコードは週の表示です。 は週を使用しているトリメスターの数をカウントする方法

@Override 保護され、ボイドのonCreate(バンドル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); 

} 
+0

仕事です? –

+0

主な問題は、私はこのロジックとコードを行う方法を知らないということです。 –

+0

2ヶ月間の合計月数を計算してから、トリムスター値を簡単に得ることができます。 –

答えて

0

は、このコードを試してみてください、あなたが問題を取得している場合は、それが適切に

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)); 
     } 
関連する問題