Reputation: 11052
I am using Android annotation
in inflate the Fragment
:
@EFragment(R.layout.fragment_sample)
public class SampleFragment extends Fragment {
public static SampleFragment newInstance(Context context) {
mContext = context;
SampleFragment samplefragment = new SampleFragment_();
return samplefragment;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
}
@AfterViews
public void afterViewsCreated(){
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext);
}}
I am invoking the instance of above fragment class from an Activity
:
SampleFragment.newInstance(getApplicationContext());
After enabling debug
point in the code. Code flow is only limited to newInstance
method. Debugger is not even going to onActivityCreated()
, onCreate()
and afterViewsCreated()
. @AfterViews
needs to be get called.
Why is this so happening?
Upvotes: 0
Views: 419
Reputation: 800
All you appear to be doing is creating an instance of the fragment. You don't appear to be actually calling to the FragmentManager to add()/replace() this new instance.
Try:
Fragment fragment = SampleFragment.newInstance(getApplicationContext());
getFragmentManager.beginTransation()
.add(<ID RES>, fragment, <FRAGMENT TAG>)
.commit();
Where ID RES is your resource id and FRAGMENT TAG is your fragment tag, if required.
See this post for more info on using FragmentManager.
Upvotes: 1