android - How to include activity inside a SherlockFragment -
hey guys have app i'm working on , have calculator , i'm able include layout inside fragmenttab2.xml don't know how or call calculator activity called cmainactivity.java
cmainactivity.java
package com.d4a.stzh; import java.text.decimalformat; import com.actionbarsherlock.app.sherlockfragmentactivity; import android.annotation.suppresslint; import android.os.bundle; import android.support.v4.app.fragmentactivity; import android.view.menu; import android.view.view; import android.view.window; import android.view.windowmanager; import android.view.view.onclicklistener; import android.widget.button; import android.widget.textview; public class cmainactivity extends sherlockfragmentactivity implements onclicklistener { private textview calculatordisplay; private static final string digits = "0123456789."; private boolean userisinthemiddleoftypinganumber = false; decimalformat df = new decimalformat("@###########"); calculatorbrain brain; @suppresslint("newapi") @override protected void oncreate(bundle savedinstancestate) { // hide window title. requestwindowfeature(window.feature_no_title); // hide status bar , other os-level chrome getwindow().addflags(windowmanager.layoutparams.flag_fullscreen); super.oncreate(savedinstancestate); setcontentview(r.layout.activity_cmain); brain = new calculatorbrain(); calculatordisplay = (textview) findviewbyid(r.id.textview1); df.setminimumfractiondigits(0); df.setminimumintegerdigits(1); df.setmaximumintegerdigits(8); findviewbyid(r.id.button0).setonclicklistener(this); findviewbyid(r.id.button1).setonclicklistener(this); findviewbyid(r.id.button2).setonclicklistener(this); findviewbyid(r.id.button3).setonclicklistener(this); findviewbyid(r.id.button4).setonclicklistener(this); findviewbyid(r.id.button5).setonclicklistener(this); findviewbyid(r.id.button6).setonclicklistener(this); findviewbyid(r.id.button7).setonclicklistener(this); findviewbyid(r.id.button8).setonclicklistener(this); findviewbyid(r.id.button9).setonclicklistener(this); findviewbyid(r.id.buttonadd).setonclicklistener(this); findviewbyid(r.id.buttonsubtract).setonclicklistener(this); findviewbyid(r.id.buttonmultiply).setonclicklistener(this); findviewbyid(r.id.buttondivide).setonclicklistener(this); findviewbyid(r.id.buttontogglesign).setonclicklistener(this); findviewbyid(r.id.buttondecimalpoint).setonclicklistener(this); findviewbyid(r.id.buttonequals).setonclicklistener(this); findviewbyid(r.id.buttonclear).setonclicklistener(this); findviewbyid(r.id.buttonclearmemory).setonclicklistener(this); findviewbyid(r.id.buttonaddtomemory).setonclicklistener(this); findviewbyid(r.id.buttonsubtractfrommemory).setonclicklistener(this); findviewbyid(r.id.buttonrecallmemory).setonclicklistener(this); // following buttons exist in layout-land (landscape mode) , require attention. // messier option place buttons in regular layout , set android:visibility="invisible". if (findviewbyid(r.id.buttonsquareroot) != null) { findviewbyid(r.id.buttonsquareroot).setonclicklistener(this); } if (findviewbyid(r.id.buttoninvert) != null) { findviewbyid(r.id.buttoninvert).setonclicklistener(this); } if (findviewbyid(r.id.buttoncos) != null) { findviewbyid(r.id.buttoncos).setonclicklistener(this); } if (findviewbyid(r.id.buttonsin) != null) { findviewbyid(r.id.buttonsin).setonclicklistener(this); } // way hide window title , actionbar, in newer sdk's // if (build.version.sdk_int >= build.version_codes.honeycomb) { // actionbar actionbar = getactionbar(); // actionbar.setdisplayshowhomeenabled(false); // actionbar.setdisplayshowtitleenabled(false); // actionbar.hide(); // } } // @override public void onclick(view view) { string buttonpressed = ((button) view).gettext().tostring(); // string digits = "0123456789."; if (digits.contains(buttonpressed)) { // digit pressed if (userisinthemiddleoftypinganumber) { calculatordisplay.append(buttonpressed); } else { calculatordisplay.settext(buttonpressed); userisinthemiddleoftypinganumber = true; } } else { // operation pressed if (userisinthemiddleoftypinganumber) { brain.setoperand(double.parsedouble(calculatordisplay.gettext().tostring())); userisinthemiddleoftypinganumber = false; } brain.performoperation(buttonpressed); calculatordisplay.settext(df.format(brain.getresult())); } } @override protected void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); // save variables on screen orientation change outstate.putdouble("operand", brain.getresult()); outstate.putdouble("memory", brain.getmemory()); } @override protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); // restore variables on screen orientation change brain.setoperand(savedinstancestate.getdouble("operand")); brain.setmemory(savedinstancestate.getdouble("memory")); calculatordisplay.settext(df.format(brain.getresult())); }
}
fragmanttab2.java:
package com.d4a.stzh; import android.content.componentname; import android.content.intent; import android.net.uri; import android.os.bundle; import android.view.layoutinflater; import android.view.view; import android.view.view.onclicklistener; import android.view.viewgroup; import android.widget.button; import com.d4a.stzh.cmainactivity; import com.d4a.stzh.calculatorbrain; import com.actionbarsherlock.app.sherlockfragment; public class fragmenttab2 extends sherlockfragment { private button appbtn; private button webbtn; private button toolsbttn; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // view fragmenttab2.xml view view = inflater.inflate(r.layout.fragmenttab2, container, false); //get button layout appbtn = (button) view.findviewbyid(r.id.app); webbtn = (button) view.findviewbyid(r.id.web); toolsbttn = (button) view.findviewbyid(r.id.tools); appbtn.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { intent intent = new intent(fragmenttab2.this.getactivity(), mylauncheractivity.class); startactivity(intent); } }); webbtn.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { string url = "http://www.google.com"; intent = new intent(intent.action_view); i.setdata(uri.parse(url)); startactivity(i); } }); //tools button toolsbttn.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { intent intent = new intent(intent.action_main); intent.setcomponent(new componentname("com.d4a.stz","com.d4a.stz.mainactivity")); intent.putextra("grace", "hi"); startactivity(intent); } }); return view; } @override public void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); setuservisiblehint(true); } }
i new android please don't judge
thanks way in advance
rapsong11
android uses objects called intents start activities.
the code start cmainactivity
this:
intent intent = new intent(this, cmainactivity.class); startactivity(intent);
Comments
Post a Comment