2015-01-18 3 views
0

저는 Android 코딩을 처음 사용합니다. 버튼을 클릭하여 날짜를 설정하려고합니다. 나는 다른 멤버들이 여기에 게시 한 많은 방법을 읽고 읽었지만 버튼을 클릭 할 때마다 아무 일도 일어나지 않습니다. 내 코드에 문제가 있습니까?버튼을 눌렀을 때 날짜가 팝업되지 않습니다.

공용 클래스 날짜 활동 {

private TextView tvDisplayDate; 
private Button btnDate; 

private int year; 
private int month; 
private int day; 

static final int DATE_DIALOG_ID = 999; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    setCurrentDateOnView(); 
    addListenerOnButton(); 

} 

// display current date 
public void setCurrentDateOnView() { 

    tvDisplayDate = (TextView) findViewById(R.id.date); 
    //dpResult = (DatePicker) findViewById(R.id.dpResult); 

    final Calendar c = Calendar.getInstance(); 
    year = c.get(Calendar.YEAR); 
    month = c.get(Calendar.MONTH); 
    day = c.get(Calendar.DAY_OF_MONTH); 

    // set current date into textview 
    tvDisplayDate.setText(new StringBuilder() 
     // Month is 0 based, just add 1 
     .append(month + 1).append("-").append(day).append("-") 
     .append(year).append(" ")); 



} 

public void addListenerOnButton() { 

    btnDate = (Button) findViewById(R.id.SetDate); 

    btnDate.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: 
     // set date picker as current date 
     return new DatePickerDialog(this, datePickerListener, 
        year, month,day); 
    } 
    return null; 
} 

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

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

     // set selected date into textview 
     tvDisplayDate.setText(new StringBuilder().append(month + 1) 
      .append("-").append(day).append("-").append(year) 
      .append(" ")); 


    } 
}; 

}

답변

0

당신은 참으로 차라리 같은 결과는 짧고 간단하게 유지 그러나 캘린더 클래스를 사용할 수 있습니다를 확장합니다. 나는 내가 사용하고 다른 누군가의 블로그에서 찾은 대안을 보여 주려고합니다.

// Formats are everywhere on the internet. 
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy "); 
Calendar cal = Calendar.getInstance(); 
String output = dateFormat.format(cal.getTime()); 
System.out.println(output); 

보기의 텍스트를 설정하려면 System.out.print 메소드를 변경하십시오.

출처 : 도움을 http://www.mkyong.com/java/java-how-to-get-current-date-time-date-and-calender/

+0

덕분에, 코드를 이해하기 쉽습니다. 나는 그것을 지금 일할 수있다 :) – user3796403

관련 문제