0
我已經寫了這段代碼。它不會給出錯誤,但會給出錯誤的輸出。日期顯示在時間地點和時間。我也必須設置警報。我做一個做應用在時間選擇器和日期選擇器中的錯誤
請幫我把我的代碼正確,還可以設置鬧鈴..
我的代碼:
public class Addmytask extends Activity{
static final int DATE_DIALOG_ID = 0;
private int mYear,mMonth,mDay;
EditText editText;
static final int TIME_DIALOG_ID=1;
int hour,min;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addmytask);
editText = (EditText) findViewById(R.id.addd);
editText = (EditText) findViewById(R.id.description);
Calendar c=Calendar.getInstance();
mYear=c.get(Calendar.YEAR);
mMonth=c.get(Calendar.MONTH);
mDay=c.get(Calendar.DAY_OF_MONTH);
hour=c.get(Calendar.HOUR);
min=c.get(Calendar.MINUTE);
dateformat();
timeformat();
}
private void dateformat() {
// TODO Auto-generated method stub
Calendar c=Calendar.getInstance();
//String dateFormat = "dd/MM/yyyy";
editText = (EditText) findViewById(R.id.text);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
editText.setText(sdf.format(c.getTime()));
editText.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DATE_DIALOG_ID);
}
});
}
private void timeformat() {
// TODO Auto-generated method stub
Calendar c=Calendar.getInstance();
//string timeFormat = "HH:mm";
editText =(EditText)findViewById(R.id.time);
SimpleDateFormat stf = new SimpleDateFormat("HH:mm");
editText.setText(stf.format(c.getTime()));
editText.setOnClickListener(new OnClickListener() {
public void onClick(View v1) {
// TODO Auto-generated method stub
showDialog(TIME_DIALOG_ID);
}
});
}
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,mDateSetListener,mYear, mMonth, mDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, timeSetListener, hour, min, false);
}
return null;
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
editText.setText(new StringBuilder().append(mDay).append("/").append(mMonth+1).append("/").append(mYear));
}
};
private TimePickerDialog.OnTimeSetListener timeSetListener=new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour=hourOfDay;
min=minute;
editText.setText(new StringBuilder().append(hour).append(":").append(min));
}
};
//public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
//return true;
//}
}
爲什麼這樣? editText =(EditText)findViewById(R.id.addd); editText =(EditText)findViewById(R.id.description); – Abx
當你把一些硬編碼值放在那裏「e1」和「e2」時會發生什麼?我沒有看到任何錯誤,但我敢打賭,你已經修剪掉了代碼。 – baash05
在你的onCreate方法中,用不同的名稱初始化所有的EditTexts,例如:editTextTime =(EditText)findViewById(R.id.time); editTextDate =(EditText)findViewById(R.id.text)等。 – nedaRM