2011-01-10 2 views
0

Я пытаюсь создать DatePickerDialog в классе 'dateDisplay.class'. Я называю это действие «main.class». Если я назову 'dateDisplay.class', используя startActivity(), то DatePickerDialog отлично работает. Но на самом деле я использую ActivityGroup (для использования вкладки в моем приложении) и я начала «dateDisplay.class», используя следующий код:Исключение в DatePickerDialog

Intent dateIntent=new Intent(context,dateDisplay.class); 
    View v=getLocalActivityManager().startActivity("2",dateIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
    setContentView(v); 

Но исключение перехватывается на вызов onCreateDialog() функцию , И процесс остынет. Он показывает TargetInvocationException. Как я могу исправить код? Ниже мой код:

public Dialog onCreateDialog(int id,Bundle b) 
    { 
     Calendar c=Calendar.getInstance(); 
     int day=c.get(Calendar.DAY_OF_MONTH); 
     int month=c.get(Calendar.MONTH); 
     int year=c.get(Calendar.YEAR); 
     Dialog d = null; 
     if(id==DATE_DIALOG_ID) 
     { 
      return new DatePickerDialog(this,dateChangeListener,year,month,day); 
     } 

     else 
     { 
       return null; 
     } 


    } 

Пожалуйста, помогите мне .. Спасибо ..

+0

может проводку полного журнала за исключение ? – Nanne

+0

Является ли 'id' равным вашему DATE_DIALOG_ID при вызове функции? – Nanne

+0

id и DATE_DIALOG_ID равны 1 – Jomia

ответ

1

просто использовать этот код, чтобы решить проблему

protected Dialog onCreateDialog(int id) { 

      Calendar c = Calendar.getInstance(); 
      int cyear = c.get(Calendar.YEAR); 
      int cmonth = c.get(Calendar.MONTH); 
      int cday = c.get(Calendar.DAY_OF_MONTH); 
      switch (id) { 
      case 0: 

      return new DatePickerDialog(this, mDateSetListener, cyear, cmonth, cday); 
      } 
      return null; 
      } 

      private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { 

      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      String date_selected = String.valueOf(monthOfYear+1)+" /"+String.valueOf(dayOfMonth)+" /"+String.valueOf(year); 

      EditText birthday=(EditText) findViewById(R.id.EditTextBirthday); 
      birthday.setText(date_selected); 
      } 
      }; 
      public void onClick(View v) { 
      if(v == ((ImageView) findViewById(R.id.pickDate))) 
      showDialog(0); 

      } 

     } 
Смежные вопросы