2016-06-17 18 views
0
//When user clicks "other". 
    public void setDate(View view) { 
     DateTime dateTime=new DateTime(); 


     new DatePickerDialog(CreateEventActivity.this, listener, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfWeek()).show(); 
    } 

    DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() { 
     @Override 
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      DateTime eventDate = new DateTime(); 
      eventDate.withYear(year); 
      eventDate.withMonthOfYear(monthOfYear + 1); 
      eventDate.withDayOfMonth(dayOfMonth); 

      time = eventDate; 

      Context appContext = getApplicationContext(); 
      Toast.makeText(appContext, dayOfMonth + "/" + (monthOfYear + 1) + "/" + year + "," +eventDate.dayOfWeek().getAsText(), Toast.LENGTH_LONG).show(); 
      dateTxt.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); 
      dayTxt.setText(eventDate.dayOfWeek().getAsText()); 

      otherButton.setBackgroundColor(Color.parseColor("#77B3FC")); 
      todayButton.setBackgroundColor(Color.parseColor("#DBDBDB")); 
      tomorrowButton.setBackgroundColor(Color.parseColor("#DBDBDB")); 



     } 
    }; 

後にテキストとして選ばれた日に見せしようとすると:eventDate.dayOfWeek().getAsText() はそれが週の間違った日を示すが、数字の日付で結構です。私はこの部分に問題がある日付ピッカー

(ジャストジョダ-時間を使い始めたので、私はそれについてはよく分からない...)

EDIT:のような数字で 日付:23.7.16が正しく印刷された、しかし、私はそれを望んされます「月曜日」のように、その日がその週に表示されていることを示しています...私はいつも今日の名前を書いていることに気付きました。トーストとテキストの表示で...

例えば、のように、いくつかの異なる日付が表示されます。 23.6.16、金曜日| 15.7.16、金曜日| 30.8.17、あなたは、DataPickerのではなくJodaTimeのデータを使用しているあなたの建設試しにいくつかのエラーが発生している可能性があるため、金曜日

+0

を、私はそれがエラーを引き起こす可能性があれば知っているが、上のDatePickerDialogを作成していない、彼は月の日とのない日を期待します1週間。 Androidのドキュメントから 'DatePickerDialog(コンテキストコンテキスト、DatePickerDialog.OnDateSetListenerリスナー、int年、int月、int dayOfMonth)' –

+0

同じ結果を変更しようとしました –

+0

その日はトーストで正しく印刷されていますか両方で間違っていますか?違いは何ですか? DayPickerで週が0から始まるので、1日は普通です。 –

答えて

0

が他の人のデータが正しいです:

DateTime eventDate = new DateTime(year,monthOfYear+1,dayOfMonth,0,0,0); 

0,0 、0が3行削除し、時間、分、秒、次のとおりです。

eventDate.withYear(year); 
eventDate.withMonthOfYear(monthOfYear + 1); 
eventDate.withDayOfMonth(dayOfMonth); 
関連する問題