博不如精

完美靠的是质量而非数量。世上的好东西时常小而难求,过多必无誉。只靠广博则难免成为平庸之辈,有所谓通才总想在学业上门门皆精,结果却常常是门门皆瘟。学业专攻必结硕果;若从事重要的事务,则必得美名。...

AndroidAnnotations——Injecting Extras注入Extras

Extras

Since AndroidAnnotations 1.0

@Extra

The @Extra annotation indicates that an activity field should be injected with the correspondingExtra from the Intent that was used to start the activity. @Extra 注解表明activity字段由启动activity传入的Intent所附带的Extra 注入。

Usage example:用法:

@EActivity
public class MyActivity extends Activity {

  @Extra("myStringExtra")
  String myMessage;
        
  @Extra("myDateExtra")
  Date myDateExtraWithDefaultValue = new Date();

}

Since AndroidAnnotations 2.6

If you do not provide any value for the @Extra annotation, the name of the field will be used.假如没有提供任何参数给 @Extra 注解,将使用字段名作为参数。

@EActivitypublic class MyActivity extends Activity {

  // The name of the extra will be "myMessage"
  @Extra
  String myMessage;
}

Handling onNewIntent()

Since AndroidAnnotations 2.6

AndroidAnnotations overrides setIntent(), and automatically reinjects the extras based on the given Intent when you call setIntent().AndroidAnnotations重写了 setIntent()当你调用setIntent()的时候,将自动重新注入基于Intent extras。

This allows you to automatically reinject the extras by calling setIntent() from onNewIntent().在onNewIntent()中调用 setIntent() 就会自动重新注入extras。

@EActivity
public class MyActivity extends Activity {

    @Extra("myStringExtra")
    String myMessage;

    @Override
    protected void onNewIntent(Intent intent) {
        setIntent(intent);
    }
}

本文档的简单示例下载

阅读更多
文章标签: AndroidAnnotation
上一篇AndroidAnnotations——Injecting project Resources注入项目资源
下一篇AndroidAnnotations——Injecting SystemServices注入系统服务
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭