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
value
public abstract int value
- Default:
- -1
resName
public abstract String resName
- Default:
- ""
Copyright © 2010-2014. All Rights Reserved.