2016-04-28 69 views
2

我設法得到一個自定義的DatePicker並將其添加到我的項目,問題是,當我在日期上錄製兩次時,應用程序崩潰!當在DatePicker上雙擊時應用程序崩潰

定製的日期選擇器代碼:

package com.example.logindesign; 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.MotionEvent; 
import android.view.ViewParent; 
import android.widget.CalendarView; 


public class CalendarViewScrollable extends CalendarView { 
    public CalendarViewScrollable(Context context) { 
     super(context); 
    } 

    public CalendarViewScrollable(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public CalendarViewScrollable(Context context, AttributeSet attrs, 
      int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent ev) 
    { 
     if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) 
     { 
      ViewParent p = getParent(); 
      if (p != null) 
       p.requestDisallowInterceptTouchEvent(true); 
     } 

     return false; 
    } 

} 

,這是我如何使用這個類在我的主要活動:

final TextView dateT=(TextView)findViewById(R.id.TextDate); 
    dateT.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v){ 
      DatePickerDialog datepicker= new DatePickerDialog(MainActivity.this,new DatePickerDialog.OnDateSetListener() {      
        @Override 
        public void onDateSet(DatePicker view, int year, int month, 
          int day) { 
         // TO DO Auto-generated method stub 
         month+=1; 
         dateT.setText(+year + "/" + month + "/" + day); 
         jn=day; 
         mn=month; 
         an=year; 
        } 
       },1990,1,1); 
     datepicker.setTitle("Sélectionner la date de naissance"); 
     datepicker.updateDate(1990, 1, 1); 
     datepicker.show(); 

     } 
    }); 

的logcat:

04-28 20:02:39.504: E/AndroidRuntime(27825): FATAL EXCEPTION: main 
04-28 20:02:39.504: E/AndroidRuntime(27825): Process:  com.example.logindesign, PID: 27825 
04-28 20:02:39.504: E/AndroidRuntime(27825):  java.util.IllegalFormatConversionException: %d can't format java.lang.String arguments 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.badArgumentType(Formatter.java:1489) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.transformFromInteger(Formatter.java:1689) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.transform(Formatter.java:1461) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.doFormat(Formatter.java:1081) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.format(Formatter.java:1042) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.util.Formatter.format(Formatter.java:1011) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at java.lang.String.format(String.java:1803) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at android.content.res.Resources.getString(Resources.java:668) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at android.content.Context.getString(Context.java:390) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at android.widget.SimpleMonthView$MonthViewTouchHelper.getItemDescription(SimpleMonthView.java:683) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at android.widget.SimpleMonthView$MonthViewTouchHelper.onPopulateEventForVirtualVie w(SimpleMonthView.java:620) 
04-28 20:02:39.504: E/AndroidRuntime(27825): at  com.android.internal.widget.ExploreByTouchHelper.createEventForChild(ExploreByTo uchHelper.java:294) 
+1

Logcat,stacktrace?爲什麼標記PHP? – frz3993

+0

我已更新帖子,對不起,mb – AbdallahJg

+0

請發佈您的自定義DatePicker的代碼.... –

回答

-1

是與具體的問題設備

登錄或提示選擇的日期,使用的DatePicker

https://android.googlesource.com/platform/frameworks/opt/datetimepicker/+/master/res/values-es/strings.xml#29

但由於某種原因它獲取「選擇%d」和格式日期不是整數。

看到這個答案:https://stackoverflow.com/a/31855744/848072。它提出了一個補丁。使用不尋找錯誤資源的主題,導致格式錯誤。

也許不會有這些補丁,所以,同時使用解決方法

相關問題