2013-07-22 1 views
0
에서 일을 할

잘 나는 하나 개의 활동과 DatePickerDialog.OnDateSetListener나는 DatePicker에서

사용자가 클릭 버튼에 dataPicker가 나타날 때 일입니다 DialogFragment를 확장하고 구현하는 다른 클래스라는 MyPicker이있는 응용 프로그램을하고있는 중이 야 datePicker에서 texfield로 그 날짜를 가져 와서 작업으로 사용하려고합니다.

어떻게하면 좋을까요?

+0

내 대답을 시도해보십시오. –

답변

0

입니다 드리려고

public class MainActivity extends Activity { 
    TextView textDate; 
    private int year; 
    private int month; 
    private int day; 
    static final int DATE_DIALOG_ID = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     textDate = (TextView) findViewById(R.id.text_date); 

     final Calendar c = Calendar.getInstance(); 
     year = c.get(Calendar.YEAR); 
     month = c.get(Calendar.MONTH); 
     day = c.get(Calendar.DAY_OF_MONTH); 
     textDate.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       showDialog(DATE_DIALOG_ID); 
      } 
     }); 
    } 

    @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_DIALOG_ID: 
      return new DatePickerDialog(this, mDateSetListener, year, month, 
        day); 
     } 
     return null; 
    } 

    // updates the date we display in the TextView 
    private void updateDisplay() { 
     /* 
     * Hide virtual keyboard 
     */ 
     textDate.setText(new StringBuilder() 
       // Month is 0 based so add 1 
       .append(year).append("-").append(month + 1).append("-") 
       .append(day).append("")); 
    } 

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

     public void onDateSet(DatePicker view, int myear, int monthOfYear, 
       int dayOfMonth) { 
      year = myear; 
      month = monthOfYear; 
      day = dayOfMonth; 
      updateDisplay(); 
     } 
    }; 
} 

처럼 어떤 일을 할 수 있습니다 .. 유래에 을 많은 시간을 요구한다 날짜 선택 도구에서 다음과 같이 할 수 있습니다.

datePicker.setOnDateChangeListner(new OnDateChangedListener() { 
public void onDateChanged(DatePicker view, int year1, 
int monthOfYear1, int dayOfMonth1) { 
year = year1; 
monthOfYear = monthOfYear1; 
dayOfMonth = dayOfMonth1; 
} 
} 
); 
0

안녕이 질문은 이미 날짜를 변경하는 경우 당신은 데모 링크 here-

+0

예 다른 방법이 있습니다! 다른 클래스에있는 datePicker가 DialogFragment이고 actitvy에 날짜를 가져 가고 싶습니다. –

+0

그런 다음 객체를 사용하거나 정적 클래스를 사용하여 호출하려고합니다. 또는 클래스를 변경하지 않는 이유는 무엇입니까? 내 마음에 든다 .. –

+0

내 선생님이주는 숙제이기 때문에 그 형식으로 완성해야합니다! "객체 또는 정적 클래스를 사용하여 호출하려고 시도하십시오."완전한 코드 및 디자인은 –

0
public class MainActivity extends Activity implements OnClickListener { 

    private Button mDateButton; 

    private Calendar mCalen; 
    private int day; 
    private int month; 
    private int year; 

    private static final int DATE_PICKER_ID = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mDateButton = (Button) findViewById(R.id.date_button); 
     mCalen = Calendar.getInstance(); 
     day = mCalen.get(Calendar.DAY_OF_MONTH); 
     month = mCalen.get(Calendar.MONTH); 
     year = mCalen.get(Calendar.YEAR); 
     mDateButton.setOnClickListener(this); 
    } 

    @Override 
    @Deprecated 
    protected Dialog onCreateDialog(int id) { 

     switch (id) { 
      case DATE_PICKER_ID: 
       return new DatePickerDialog(this, datePickerListener, 
         year, month, day); 
     } 
     return null; 
    } 

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

       // while dialog box is closed, below method is called. 
       public void onDateSet(DatePicker view, int selectedYear, 
         int selectedMonth, int selectedDay) { 
        year = selectedYear; 
        month = selectedMonth; 
        day = selectedDay; 

        // Set the Date String in Button 
        mDateButton.setText(day + "/" + (month + 1) + "/" + year); 
       } 
      }; 

    @Override 
    public void onClick(View v) { 

     showDialog(DATE_PICKER_ID); 

    } 
} 
+0

으로, http : //를 확인하십시오. rajeshvijayakumar.blogspot.in/2013/01/ics-date-picker-example-in-android.html, 유용한 정보라면 투표하세요. – Dev