1.@EActivity
@EActivity(R.layout.
activity_main)
public class MainActivity extends AppCompatActivity {
}
2.初始化@ViewById
@ViewById(R.id.
button)
Button button;
或
@ViewById
Button button;
注:button必须是布局文件中的 android:id="@+id/button"
3.初始化多个id并放到集合当中@ViewsById
@ViewsById({R.id.
textView1,R.id.
textView2})
List<TextView> list;
@AfterViews
public void setTextView(){
for(TextView textView: list){
textView.setText( "Hello Beijing!");
}
public void setTextView(){
for(TextView textView: list){
textView.setText( "Hello Beijing!");
}
}
4.初始化后运行@AfterViews
@ViewById(R.id.
textView1)
TextView textView1;
@AfterViews
public void setTextView(){
textView1.setText( "Hello Beijing!");
public void setTextView(){
textView1.setText( "Hello Beijing!");
}
5.单击@Click,长按单击@LongClick
@Click(R.id.
button)
public void StartActivity(){
Intent intent= new Intent(MainActivity. this,SecondActivity_. class);
startActivity(intent);
public void StartActivity(){
Intent intent= new Intent(MainActivity. this,SecondActivity_. class);
startActivity(intent);
}
或为多个View指定Click事件
@Click({R.id.
textView1,R.id.
textView2})
public void showToast(){
Toast. makeText(MainActivity. this, "ok", 1).show();
public void showToast(){
Toast. makeText(MainActivity. this, "ok", 1).show();
}
6.两个Activity之间传值@Extra
(1)在MainActivity中
public static final String
name_key=
"name_key";
public static final String age_key="age_key";
@Click(R.id.
button)
public void StartActivity(){
Intent intent= new Intent(MainActivity. this,SecondActivity_. class);
intent.putExtra( name_key, "zhangsan");
intent.putExtra( age_key, "18");
startActivity(intent);
}
public void StartActivity(){
Intent intent= new Intent(MainActivity. this,SecondActivity_. class);
intent.putExtra( name_key, "zhangsan");
intent.putExtra( age_key, "18");
startActivity(intent);
}
(2)在SecondActivity中
@Extra(MainActivity.
name_key)
String name;
@Extra(MainActivity. age_key)
String age;
@ViewById(R.id. textView1)
TextView textView1;
@ViewById(R.id. textView2)
TextView textView2;
@AfterViews
public void InitView(){
textView1.setText( name);
textView2.setText( age);
String name;
@Extra(MainActivity. age_key)
String age;
@ViewById(R.id. textView1)
TextView textView1;
@ViewById(R.id. textView2)
TextView textView2;
@AfterViews
public void InitView(){
textView1.setText( name);
textView2.setText( age);
}
7.在ListView中Item的单击@ItemClick和Item的长按单击@ItemLongClick
(1)构建一个Adapter
public class MyAdapter
extends BaseAdapter {
private List<String> list;
private Context context;
public MyAdapter(Context context,List<String> list){
this. context=context;
this. list=list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public View getView( int i, View view, ViewGroup viewGroup) {
String name= list.get(i);
TextView text= new TextView( context);
text.setText(name);
return text;
}
@Override
public long getItemId( int i) {
return i;
}
@Override
public Object getItem( int i) {
return list.get(i);
}
private List<String> list;
private Context context;
public MyAdapter(Context context,List<String> list){
this. context=context;
this. list=list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public View getView( int i, View view, ViewGroup viewGroup) {
String name= list.get(i);
TextView text= new TextView( context);
text.setText(name);
return text;
}
@Override
public long getItemId( int i) {
return i;
}
@Override
public Object getItem( int i) {
return list.get(i);
}
}
(2)在Activity中的代码
@EActivity(R.layout.
activity_three)
public class ThreeActivity extends Activity {
@ViewById(R.id. listView)
ListView listView;
@AfterViews
public void init(){
List<String> name= new ArrayList<String>();
for( int i= 0;i< 20;i++){
name.add(String. valueOf(i));
}
MyAdapter myAdapter= new MyAdapter(ThreeActivity. this,name);
listView.setAdapter(myAdapter);
}
@ItemClick(R.id. listView)
public void listViewItemClick(){
Toast. makeText(ThreeActivity. this, "ok", 1).show();
}
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
}
public class ThreeActivity extends Activity {
@ViewById(R.id. listView)
ListView listView;
@AfterViews
public void init(){
List<String> name= new ArrayList<String>();
for( int i= 0;i< 20;i++){
name.add(String. valueOf(i));
}
MyAdapter myAdapter= new MyAdapter(ThreeActivity. this,name);
listView.setAdapter(myAdapter);
}
@ItemClick(R.id. listView)
public void listViewItemClick(){
Toast. makeText(ThreeActivity. this, "ok", 1).show();
}
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
}
}
8.处理后台任务,在子线程运行@Background
9.在主线程中运行@UiThread
10.从资源中获取@StringRes@StringArrayRes
在string.xml中
<
resources>
< string name= "app_name">AndroidAnnotations</ string>
< string name= "name">ZhL</ string>
< string name= "app_name">AndroidAnnotations</ string>
< string name= "name">ZhL</ string>
</resources>
在Activity中
@StringRes(R.string.
name)
String name;//这里定义的name的值就是string.xml中的值
11.在资源dimens.xml中获取@DimensionRes,设置字体字号
@DimensionRes(R.dimen.
fontSize)
float fontSize;
float fontSize;