2017-08-19 62 views
0

我需要讓我的飛旋的DatePicker顯示日期名(DAY_OF_WEEK),而不是數字(DAY_OF_MONTH)微調日期選取器顯示日名稱

目前微調顯示天的月份(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" 

在改變日期格式可能overridespinner你喜歡的方式。

+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日14時40分36秒2016

+0

我想編輯Spinner DatePicker本身以在微調視圖中顯示日期名稱。 我不想格式化所選日期。 – Abuzaid

+0

不,你只是重新格式化的時間格式來獲得這種類型的輸出 –

相關問題