annotations配置

环境配置:

在AndroidStudio中,工程的build.gradle添加:

dependencies {
    compile 'com.android.support:support-annotations:23.3.0'
}

当然,如果你的项目中已经使用了V7包,就可以直接使用了

在APP的build.gradle中dependencies引用依赖:

annotationProcessor "org.androidannotations:androidannotations:4.4.0"
compile "org.androidannotations:androidannotations-api:4.4.0"

到此配置OK。

使用:

1、布局文件:

<TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

2、acitivity:

扫描二维码关注公众号,回复: 4080288 查看本文章

给acitivity指定layout。这里有两种方法:

①、在类的前面添加:@EAcitivity(@+layout id)

②、在onCreate中

setContentView(R.layout.activity_main);

这两种方法的区别:如果您想在onCreate中就使用注释方式获取view,则在获取之前就要用到第二种方法。否则它会在还未注释完成就获取view,那也就是获取到的是null。

给变量指定引用:

在变量前面用@ViewById(@+id)获取view

如下:

①、

@EActivity
public class MainActivity extends AppCompatActivity {
    @ViewById(R.id.textview1)
    TextView textview1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textview1.setText("Hello annotations");
    }
}

②、

@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {
    @ViewById(R.id.textview1)
    TextView textview1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

    }

    @AfterViews
    protected void setTx(){
        textview1.setText("Hello annotations");
    }

3、在acitivity注册声明中name添加_,如下

<activity android:name=".MainActivity_">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>


猜你喜欢

转载自blog.csdn.net/sshzf/article/details/79308378