How to call the method in Fragment from the Activity in android? -
i working on fragment concept here.here issue facing here need call call method in screen.java after giving run time permission in homescreen.java class have been trying cant right solution provide me proper solution this.
public class homescreen extends draweractivity { public static final int multiple_permissions = 10; // code want. string[] permissions = new string[] { manifest.permission.access_coarse_location, manifest.permission.access_fine_location }; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); log.e("passing in home", "passing in home"); checkpermission(home.this); ctx = this; } private boolean checkpermission(activity act) { int result; list<string> listpermissionsneeded = new arraylist<>(); (string p : permissions) { result = contextcompat.checkselfpermission(act, p); if (result != packagemanager.permission_granted) { listpermissionsneeded.add(p); } else { } } if (!listpermissionsneeded.isempty()) { activitycompat.requestpermissions(act, listpermissionsneeded .toarray(new string[listpermissionsneeded.size()]), multiple_permissions); return false; } return true; } @override public void onrequestpermissionsresult(int requestcode, string[] arg1, int[] grantresults) { // todo auto-generated method stub super.onrequestpermissionsresult(requestcode, arg1, grantresults); switch (requestcode) { case multiple_permissions: { if (grantresults.length > 0 && grantresults[0] == packagemanager.permission_granted) { } else { } return; } } } @override public void onbackpressed() { // todo auto-generated method stub currentposition = -1; super.onbackpressed(); } }
//class 2
public class screen extends fragment{ protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); call(); } public void call(){ //my code } }
you can fragment
instance fragmentmanager
using layout id
.
fragment fragment = getsupportfragmentmanager().findfragmentbyid(r.id.fragment_container); // fragment_container id of container layout had added fragment
and cast fragment
, call:
screen screen = (screen) fragment; screen.call();
Comments
Post a Comment