내 현재 안드로이드 프로젝트에서 datepicker를 만들고 싶습니다. 내 MainActivity에 다른 코드가 있습니다. 이것은 내 시간과 날짜 피커 코드가 포함 된 새로운 클래스 "Changedatetime"입니다. 이제 필자의 MainActivity로 결과를 전달하거나 가져올 수 있습니까?어떻게 내 MainActivity에 결과를 전달하거나 얻을 수 있습니까?
Changedatetime :
package com.app.annoy;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
public class Changetimedate extends Activity {
static final int DATE_DIALOG_ID = 1;
static final int TIME_DIALOG_ID = 2;
private Button pickDate;
private int year, month, day;
private Button pickTime;
private int hours, min;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_layout);
pickDate = (Button)findViewById(R.id.date_button);
pickDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
final Calendar cal = Calendar.getInstance();
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH);
day = cal.get(Calendar.DAY_OF_MONTH);
updateDate();
pickTime = (Button)findViewById(R.id.time_button);
pickTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
hours = cal.get(Calendar.HOUR);
min = cal.get(Calendar.MINUTE);
updateTime();
}
private void updateTime() {
pickTime.setText(new StringBuilder().append(hours).append(':')
.append(min));
}
private void updateDate() {
pickDate.setText(new StringBuilder().append(day).append('-')
.append(month + 1).append('-').append(year));
}
private DatePickerDialog.OnDateSetListener dateListener =
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int yr, int monthOfYear,
int dayOfMonth) {
year = yr;
month = monthOfYear;
day = dayOfMonth;
updateDate();
}
};
private TimePickerDialog.OnTimeSetListener timeListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
hours = hourOfDay;
min = minute;
updateTime();
}
};
protected Dialog onCreateDialog(int id){
switch(id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, dateListener, year, month, day);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, timeListener, hours, min, false);
}
return null;
}
}
이 코드는 아무 문제없이 작동합니다. – Gunaseelan
뭔가를 시도해보십시오 : 모든 버튼에 대해 onClick 메서드를 사용하여 버튼이 작동하는지 확인한 후 축하합니다. – Opiatefuchs
안녕하세요. 사실, 내 MainActivity 클래스에서 tabhost 코드를 제거하고 위의 pickers 코드로 바꾸면 작동합니다. 그렇지만 탭 호스트는 MainActivity 클래스에 있어야합니다. 함께 작업하게하려면 어떻게해야합니까? –