How to call another activity method in android studio? -
i have 2 different activities. first calls menu(base) if user logged in, have method display user information.
public class mainactivity extends actionbaractivity implements view.onclicklistener { userlocalstore userlocalstore; edittext etname, etage, etusername; button blogout; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); etusername = (edittext) findviewbyid(r.id.etusername); etname = (edittext) findviewbyid(r.id.etname); etage = (edittext) findviewbyid(r.id.etage); blogout = (button) findviewbyid(r.id.blogout); blogout.setonclicklistener(this); userlocalstore = new userlocalstore(this); } @override public void onclick(view v) { switch (v.getid()){ case r.id.blogout: userlocalstore.clearuserdata(); userlocalstore.setuserloggedin(false); intent loginintent = new intent(this, login.class); startactivity(loginintent); break; } } @override protected void onstart() { super.onstart(); if (authenticate() == true) { startactivity(new intent(this, base.class)); } } private boolean authenticate() { if (userlocalstore.getloggedinuser() == null) { intent intent = new intent(this, login.class); startactivity(intent); return false; } return true; } public void displayuserdetails() { user user = userlocalstore.getloggedinuser(); etusername.settext(user.username); etname.settext(user.name); etage.settext(user.age + ""); } }
the second activity menu; activity has button called "butente" when clicked must show user info.
public class base extends activity implements view.onclicklistener { button bdiario; button butente; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_base); bdiario = (button) findviewbyid(r.id.bdiario); bdiario.setonclicklistener(this); butente = (button) findviewbyid(r.id.butente); butente.setonclicklistener(this); } @override public void onclick(view v) { switch (v.getid()){ case r.id.bdiario: startactivity(new intent(this, diary.class)); case r.id.butente: mainactivity prova = new mainactivity(); prova.displayuserdetails(); } } }
how can when click button "butente" reminds me of other activity performing method "displayuserdetails()"?
mainactivity
has layout contains view
s show user information. if in base
, activity has different layout doesn't have view
s showing user information. can create dialog
shows user information, or add additional view
s base
show user information, or rearchitect application have activity
shows user information , both mainactivity
, base
start activity
show user information.
in case, absolutely positively cannot instantiate activity
mainactivity
using new
keyword! android can instantiate activity
components, because framework sets underlying context
when that. keeps track of these components , manages lifecycle callbacks.
Comments
Post a Comment