2013-05-28 159 views
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; 
//} 
} 
+0

爲什麼這樣? editText =(EditText)findViewById(R.id.addd); editText =(EditText)findViewById(R.id.description); – Abx

+0

當你把一些硬編碼值放在那裏「e1」和「e2」時會發生什麼?我沒有看到任何錯誤,但我敢打賭,你已經修剪掉了代碼。 – baash05

+0

在你的onCreate方法中,用不同的名稱初始化所有的EditTexts,例如:editTextTime =(EditText)findViewById(R.id.time); editTextDate =(EditText)findViewById(R.id.text)等。 – nedaRM

回答