0

写真に示すように、日付ピッカーを作成します。タブでプログラムを実行すると表示されますが、電話 (HTC Glacier) で試してみると、アプリケーションがクラッシュし、どこで何かを見逃したかがわかります。お願い助けて。ありがとうここに画像の説明を入力

ここに私のログキャットがあります:

06-24 16:52:05.003: E/AndroidRuntime(19717): Caused by: java.lang.IllegalArgumentException: current should be >= start and <= end
06-24 16:52:05.003: E/AndroidRuntime(19717):    at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
06-24 16:52:05.003: E/AndroidRuntime(19717):    at     android.widget.DatePicker.updateSpinners(DatePicker.java:384)
06-24 16:52:05.003: E/AndroidRuntime(19717):    at android.widget.DatePicker.init(DatePicker.java:379)
06-24 16:52:05.003: E/AndroidRuntime(19717):    at ph.com.unilab.iReport.IreportMain.onCreate(IreportMain.java:85)

ここに、日付ピッカーの主な活動の私のコードがあります

 ....
calendar = Calendar.getInstance();
dp_Date = (DatePicker) findViewById(R.id.dp_Date);
dp_Date.init(80, calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE), null);

dp_Date.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS);
dp_Date.init(2013, calendar.getTime().getMonth(), calendar.getTime().getDate(), new OnDateChangedListener()
{
  public void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
}
    });

....
4

2 に答える 2

1

あなたの初期化コードは非常に奇妙で、非推奨のメソッドを使用しています。これを試して:

calendar = Calendar.getInstance();
datePicker = (DatePicker) findViewById(R.id.dp_Date);    
datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),   calendar.get(Calendar.DAY_OF_MONTH), new OnDateChangedListener() {
      public void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
      //TODO do stuff on date change
      }
});
于 2013-06-24T09:18:35.030 に答える
1

yearmonthOfYearおよびを初期化しましたかdayOfMonth

private int mYear = 2012;
private int mMonth = 12;
private int mDay =12;
于 2013-06-24T09:02:12.563 に答える