android fragments - How can we set value in Edittext of different class -
i m using time fragment. on click of edittext box have opened time picker this. final fragmentmanager fm = getfragmentmanager(); time.setonclicklistener(new onclicklistener() {
@targetapi(build.version_codes.honeycomb) @suppresswarnings("deprecation") public void onclick(view v) { fragmentmanager fm = getfragmentmanager(); dialogfragment2=new datetimedialogfragment(activitygroup4.context ,2); dialogfragment2.setcontextandview(appstate,vi,time); system.out.println(vi+" view meeting list "); dialogfragment2.setretaininstance(true); dialogfragment2.show(fm, "fragment_name"); } });
this leads time picker open. here appstate context object,vi view object of expandable list adapter groupchildview method access edittext in datetime fragment class
in datetimedialogfragment when picker open , set button clicked value value not displayed on edittext box of last activity
public class datetimedialogfragment extends dialogfragment implements ondatechangedlistener, ontimechangedlistener { // define constants date-time picker. string time_and_date = ""; int = 0, j = 0; //stringbuilder click = new stringbuilder();; public final static int date_picker = 1; public final static int time_picker = 2; public final static int date_time_picker = 3;
// datepicker reference private datepicker datepicker; // timepicker reference private timepicker timepicker; // calendar reference private calendar mcalendar; // define activity private activity activity; // define dialog type private int dialogtype; // define dialog view private view mview; // constructor start public datetimedialogfragment(activity activity) { this(activity, date_time_picker); } context context; view v; edittext refrenced; public void setcontextandview(context context, view v, edittext refrenced) { this.refrenced = refrenced; this.context = context; this.v = v; //time_and_date = refrenced.gettext().tostring(); } @suppresslint("validfragment") public datetimedialogfragment(activity activity, int dialogtype) { this.activity = activity; this.dialogtype = dialogtype; // inflate layout view // pass null parent view because going in dialog layout layoutinflater inflater = activity.getlayoutinflater(); mview = inflater.inflate(r.layout.date_time_dialog, null); // grab calendar instance mcalendar = calendar.getinstance(); // init date picker datepicker = (datepicker) mview.findviewbyid(r.id.datepicker1); datepicker.init(mcalendar.get(calendar.year), mcalendar.get(calendar.month), mcalendar.get(calendar.day_of_month), this); // init time picker timepicker = (timepicker) mview.findviewbyid(r.id.timepicker1); // set default calendar , time style setis24hourview(false); setcalendarviewshown(false); switch (dialogtype) { case date_picker: timepicker.setvisibility(view.gone); break; case time_picker: datepicker.setvisibility(view.gone); break; } } @override public dialog oncreatedialog(bundle savedinstancestate) { // use builder class convenient dialog construction builder builder = new alertdialog.builder(activity); // set layout dialog builder.setview(mview); // set title of dialog builder.setmessage("set date") // set ok button .setpositivebutton("set", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { // user ok dialog // system.out.println(time_and_date); if (time_and_date != "") { if (time_and_date.length() <= 5) { system.out.println(time_and_date + " " + v); // edittext time = (edittext) // v.findviewbyid(r.id.time_specially_for_fragment); system.out.println(refrenced.gettext()); system.out.println("sss"); refrenced.settext(time_and_date); refrenced.setvisibility(view.invisible); ; } else { system.out.println(time_and_date); // edittext time = (edittext) // v.findviewbyid(r.id.date_specially_for_fragment); // time.settext(time_and_date); } } else { system.out.println("went wrong"); if (dialogtype ==2) { int hour = mcalendar .get(calendar.hour_of_day); int min = mcalendar .get(calendar.minute); time_and_date = "" + hour + ":" + (min); system.out.println(time_and_date); = j = 0; } else if (dialogtype==1 ) { int day = mcalendar .get(calendar.day_of_month); int month = mcalendar .get(calendar.month); int year = mcalendar.get(calendar.year); time_and_date=""+day+"/"+(month+1)+"/"+year; i=j=0; system.out.println(time_and_date); } } } }) // set cancel button .setnegativebutton("cancel", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { // user cancelled dialog datetimedialogfragment.this.getdialog() .cancel(); } }); // create alertdialog object , return return builder.create(); } @targetapi(build.version_codes.honeycomb) @override public void onactivitycreated(bundle savedinstancestate) { super.onactivitycreated(savedinstancestate); timepicker.setontimechangedlistener(this); } // convenience wrapper internal calendar instance public int get(final int field) { return mcalendar.get(field); } // convenience wrapper internal calendar instance public long getdatetimemillis() { return mcalendar.gettimeinmillis(); } // convenience wrapper internal timepicker instance public void setis24hourview(boolean is24hourview) { timepicker.setis24hourview(is24hourview); } // convenience wrapper internal timepicker instance public boolean is24hourview() { return timepicker.is24hourview(); } // convenience wrapper internal datepicker instance public void setcalendarviewshown(boolean calendarview) { datepicker.setcalendarviewshown(calendarview); } // convenience wrapper internal datepicker instance @targetapi(build.version_codes.honeycomb) public boolean calendarviewshown() { return datepicker.getcalendarviewshown(); } // convenience wrapper internal datepicker instance public void updatedate(int year, int monthofyear, int dayofmonth) { datepicker.updatedate(year, monthofyear, dayofmonth); } // convenience wrapper internal timepicker instance public void updatetime(int currenthour, int currentminute) { timepicker.setcurrenthour(currenthour); timepicker.setcurrentminute(currentminute); } public string getdatetime() { simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss", locale.us); return sdf.format(mcalendar.gettime()); } // called every time user changes datepicker values @override public void ondatechanged(datepicker view, int year, int monthofyear, int dayofmonth) { // update internal calendar instance i++; // click='date'; mcalendar.set(year, monthofyear, dayofmonth, mcalendar.get(calendar.hour_of_day), mcalendar.get(calendar.minute)); time_and_date = "" + dayofmonth + "/" + monthofyear + "/" + year; } // called every time user changes timepicker values @override public void ontimechanged(timepicker view, int hourofday, int minute) { // update internal calendar instance j++; mcalendar.set(mcalendar.get(calendar.year), mcalendar.get(calendar.month), mcalendar.get(calendar.day_of_month), hourofday, minute); time_and_date = hourofday + ":" + minute; system.out.println("from time changing " + time_and_date); // gettime(); } string getdate() { return time_and_date; } string gettime() { return time_and_date; }
}
how set time in edittext box
Comments
Post a Comment