2017-08-19 11 views
0

を示しスピナー日付ピッカーは、私は(DAY_OF_MONTH)の代わりに数字の私のスピナー日付ピッカーショーの曜日名(DAY_OF_WEEK)を作成する必要がデイ名

現在スピナーは1,2,3(月の日数を示します。.. 。30)、しかし、私はここでは日曜日、月曜日、...)

(それはあまりにも日名を表示したい、私はそれを呼び出す方法です:

final DatePickerDialog.OnDateSetListener sessDay = new DatePickerDialog.OnDateSetListener() { 

     @Override 
     public void onDateSet(DatePicker view, int year, int monthOfYear, 
           int dayOfMonth) { 
      dateCalendar.set(Calendar.YEAR, year); 
      dateCalendar.set(Calendar.MONTH, monthOfYear); 
      dateCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); 
      pickDayBtn.setText(Q.DATE_FORMAT.format(dateCalendar.getTime())); 
     } 
    }; 

dayPickerDialog = new DatePickerDialog(SessionsSettingsActivity.this, R.style.MySpinnerDatePickerStyle, sessDay, dateCalendar 
      .get(Calendar.YEAR), dateCalendar.get(Calendar.MONTH), 
      dateCalendar.get(Calendar.DAY_OF_MONTH)); 

そして、これは私が使用するスタイルです。

<style name="MySpinnerDatePickerStyle" parent="android:Theme.Material.Dialog"> 
    <item name="android:datePickerStyle">@style/MySpinnerDatePicker</item> 
</style> 

<style name="MySpinnerDatePicker" parent="android:Widget.Material.DatePicker"> 
    <item name="android:datePickerMode">spinner</item> 
    <item name="android:background">@color/colorPrimary</item> 
</style> 
+0

あなたの質問は何ですか? –

+0

現在、Spinnerは月(1,2,3 ... 30)の日数を表示しますが、日曜日の名前(日曜日、月曜日、...)も表示します。 – Abuzaid

+0

Spinner自体に曜日名を表示したいのか、 'OnDateSetListener'で曜日名を取得しますか? – fluffyBatman

答えて

0

あなたはそれを達成するために日付形式を変更する必要があります。以下のサンプルコードです:

SimpleDateFormat dateFormat = new SimpleDateFormat("EEEE, MMMM d, yyyy"); 
Log.e("New Date Format ", String.valueOf(dateFormat.format(newDate.getTime())) + "");  
// Shows "Saturday, August 19, 2017" 

あなたが好きあなたのspinner道をoverrideも日付形式を変更したら。

月のような出力が得られます。この方法では
+0

スピナーをDateFormatでオーバーライドする方法の例を挙げられますか? – Abuzaid

1

 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 
     Date d = null; 
 
     try { 
 
      d = inputFormat.parse(str); 
 
     } catch (ParseException e) { 
 
      e.printStackTrace(); 
 
     } 
 
     SimpleDateFormat outputFormat = new SimpleDateFormat("EEEE, MMMM dd, yyyy hh:mm a"); 
 
     System.out.println(outputFormat.format(d)); 
 
     holder.date.setText(outputFormat.format(d)); 
 
     str_formatted = outputFormat.format(d);

を入力してください日時11月20日夜02時40分36秒2016

+0

スピナーのDatePicker自体を編集して、スピナービューに曜日を表示したいとします。 選択した日付をフォーマットしたくありません。 – Abuzaid

+0

あなたはこのタイプの出力を得るために時間フォーマットを再フォーマットするだけではありません –

関連する問題