AndroidAnnotations框架@Ebean,@RootContext,@Background,@UiThread,@AfterInject,@AfterTextChange标签的使用方法
package com.example.androidannotations;
import android.content.Context;
import android.widget.TextView;
import android.widget.Toast;
import com.googlecode.androidannotations.annotations.AfterInject;
import com.googlecode.androidannotations.annotations.Background;
import com.googlecode.androidannotations.annotations.EBean;
import com.googlecode.androidannotations.annotations.RootContext;
import com.googlecode.androidannotations.annotations.UiThread;
import com.googlecode.androidannotations.annotations.ViewById;
@EBean
public class Student {
@RootContext
Context context;
@RootContext
MainActivity activity;
@ViewById
TextView tv;
public void Toast()
{
Toast.makeText(context, "在Ebean中调用", Toast.LENGTH_LONG).show();
}
@Background
public void backThread()
{
for(int i=0;i<9999;i++)
{
try {
Thread.sleep(1000);
updateTv(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@UiThread
public void updateTv(int i)
{
tv.setText(String.valueOf(i));
}
@AfterInject
public void doSomethingAfterInject()
{
System.out.println("Student AfterInject");
}
} |
在Activity中的调用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 | package com.example.androidannotations;
import android.app.Activity;
import android.text.Editable;
import android.widget.EditText;
import android.widget.TextView;
import com.googlecode.androidannotations.annotations.AfterTextChange;
import com.googlecode.androidannotations.annotations.AfterViews;
import com.googlecode.androidannotations.annotations.Bean;
import com.googlecode.androidannotations.annotations.Click;
import com.googlecode.androidannotations.annotations.EActivity;
import com.googlecode.androidannotations.annotations.Fullscreen;
import com.googlecode.androidannotations.annotations.NoTitle;
import com.googlecode.androidannotations.annotations.UiThread;
import com.googlecode.androidannotations.annotations.ViewById;
import com.googlecode.androidannotations.annotations.res.StringRes;
@EActivity(R.layout.activity_main)
@Fullscreen
@NoTitle
public class MainActivity extends Activity {
@ViewById
TextView tv;
@ViewById
EditText edit;
@StringRes(R.string.hello_world)
String hello;
@Bean
Student stu;
@AfterViews
void init()
{
tv.setText("asfsdf");
}
@AfterTextChange(R.id.edit)
void afterEditChange(Editable text, TextView hello)
{
tv.setText(hello.getText());
}
@Click(R.id.tv)
void tvClicked()
{
stu.Toast();
stu.backThread();
}
@UiThread
public void updateTv(int i)
{
tv.setText(String.valueOf(i));
}
} |