I have used this datepicker but here my new activity is starting before I click on the set date button here is the code below:-
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Button;
import android.widget.ImageButton;
/**
*To handle the main UI.
*/
public class ui extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
StringBuffer sb = new StringBuffer();
ImageButton btn;
int year_x,month_x,day_x;
final int DIALOG_ID=0;
public void showDialogOnButtonClick(){
btn=(ImageButton)findViewById(R.id.bread);
btn.setOnClickListener(
new View.OnClickListener(){
@Override
public void onClick(View v){
showDialog(DIALOG_ID);
Intent j=new Intent(ui.this,Read.class);
j.putExtra("date",sb.toString());
startActivity(j);
}
}
);
}
protected Dialog onCreateDialog(int id){
if(id==DIALOG_ID)
return new DatePickerDialog(this, dPickerListener ,year_x,month_x,day_x);
return null;
}
private DatePickerDialog.OnDateSetListener dPickerListener=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
year_x=year;
month_x=monthOfYear+1;
day_x=dayOfMonth;
sb.append(day_x).append(month_x).append(year_x);
}
};
public void onwriteclick(View v){
if(v.getId()==R.id.bwrite){
showDialog(DIALOG_ID);
Intent j=new Intent(ui.this,write.class);
j.putExtra("date",sb.toString());
startActivity(j);
}
}
public void onpdfclick(View v){
if(v.getId()==R.id.bpdf){
showDialog(DIALOG_ID);
Intent j=new Intent(ui.this,noteselectorforpdf.class);
j.putExtra("date",sb.toString());
startActivity(j);
}
}
}
What changes should I make so that the new activity starts after I click on the set date in the date picker dialog. I have tried putting the intent inside the ondatesetlistener but that doesn't seem to help.
Try this,