org.androidannotations.annotations
Annotation Type EFragment


@Retention(value=CLASS)
@Target(value=TYPE)
public @interface EFragment

Should be used on android.app.Fragment or android.support.v4.app.Fragment classes to enable usage of AndroidAnnotations.

Your code related to injected beans should go in an AfterInject annotated method.

Any view related code should happen in an AfterViews annotated method.

If the class is abstract, the enhanced activity will not be generated. Otherwise, it will be generated as a final class. You can use AndroidAnnotations to create Abstract classes that handle common code.

The annotation value should be one of R.layout.* fields. If not set, no content view will be set, and you should call the inflater.inflate() method yourself, in onCreateView().

The generated class will also contain a FragmentBuilder to build fragment with a fluent API. Arguments can be passed by using FragmentArg annotation on every native or serializable/parcelable field.

The enhanced fragment can also be retrieved (not injected in layout) in any enhanced class by using FragmentById or FragmentByTag annotations.

Example :
 @EFragment(R.layout.fragment)
 public class MyFragment extends Fragment {
 
        @Bean
        MyBean myBean;
 
        @ViewById
        TextView myTextView;
 
        @FragmentArg
        String myExtra;
 
        @AfterInject
        void init() {
                myBean.doSomeStuff();
        }
 
        @AfterViews
        void initViews() {
                myTextView.setText(myExtra);
        }
 }
 
 @EActivity(R.layout.main)
 public class MyActivity extends Activity {
 
        @FragmentById
        MyFragment myFragment;
 }
 

See Also:
AfterInject, AfterViews, FragmentById, FragmentByTag, FragmentArg

Optional Element Summary
 String resName
           
 int value
           
 

value

public abstract int value
Default:
-1

resName

public abstract String resName
Default:
""


Copyright © 2010-2014. All Rights Reserved.