AndroidAnnotations标签

本文详细介绍AndroidAnnotations框架的应用,包括活动创建、视图初始化、点击事件处理、数据传递、列表视图操作、后台任务处理等内容,并提供了丰富的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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!");
    }
}
4.初始化后运行@AfterViews
@ViewById(R.id.textView1)
TextView textView1;
@AfterViews
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);
}
或为多个View指定Click事件
@Click({R.id.textView1,R.id.textView2})
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);
}
(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);
}
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);
    }
}
(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);
    }
}
8.处理后台任务,在子线程运行@Background
9.在主线程中运行@UiThread
10.从资源中获取@StringRes@StringArrayRes
在string.xml中
<resources>
    <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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值