@OptionsMenu、@OptionsMenuItem、@OptionsItem
@OptionsMenu :用来指定菜单资源
@OptionsMenuItem :MenuItem的实例
@OptionsItem :用来接收菜单的选中事件
没有上面的注解,我们要这样写代码
@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {
MenuItem itemhome;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(com.hista.weiweilove.R.menu.mymenu, menu);
itemhome = menu.findItem(R.id.menu_home);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.menu_home:
Toast.makeText(TestActivity.this, ""+"home", Toast.LENGTH_SHORT).show();
itemhome.setTitle("主页君");
break;
case R.id.menu_search:
Toast.makeText(TestActivity.this, ""+"search", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_share:
Toast.makeText(TestActivity.this, ""+"share", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
}
有了上面的注解我们可以这样写代码
@EActivity(R.layout.activity_test)
@OptionsMenu(R.menu.mymenu)
public class TestActivity extends Activity {
@OptionsMenuItem
MenuItem menu_home;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@OptionsItem(R.id.menu_share)
void myMethod() {
// You can specify the ID in the annotation, or use the naming convention
Toast.makeText(TestActivity.this, ""+"share", Toast.LENGTH_SHORT).show();
}
@OptionsItem
void menu_home() {
// home was selected in the action bar
// The "Selected" keyword is optional
Toast.makeText(TestActivity.this, ""+"home", Toast.LENGTH_SHORT).show();
menu_home.setTitle("主页君");
}
@OptionsItem
boolean menu_search() {
Toast.makeText(TestActivity.this, ""+"search", Toast.LENGTH_SHORT).show();
// menuSearch was selected
// the return type may be void or boolean (false to allow normal menu processing to proceed, true to consume it here)
return true;
}
@OptionsItem({ R.id.menu_search, R.id.menu_share })
void multipleMenuItems() {
// You can specify multiple menu item IDs in @OptionsItem
Toast.makeText(TestActivity.this, ""+"search or share", Toast.LENGTH_SHORT).show();
}
}
@OptionsItem({ R.id.menu_search, R.id.menu_share }) 支持多个MenuItem
@SeekBarProgressChange
在未使用这个注解前,我们要写这样的代码
@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {
@ViewById(R.id.tv_test)
TextView tvTest;
@ViewById
SeekBar seekbar1;
@ViewById
SeekBar seekbar2;
@UiThread
void setObject(String s){
tvTest.setText(s);
}
@AfterViews
void afterView(){
seekbar1.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
public void onProgressChanged(SeekBar arg0,int progress,boolean fromUser)
{
setObject(String.valueOf(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Toast.makeText(TestActivity.this, "seekbar touch stare", 100).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Toast.makeText(TestActivity.this, "seekbar touch end", 100).show();
}
});
}
}
使用之后我们可以这样写代码:
@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {
@ViewById(R.id.tv_test)
TextView tvTest;
@ViewById
SeekBar seekbar1;
@ViewById
SeekBar seekbar2;
@UiThread
void setObject(String s){
tvTest.setText(s);
}
@SeekBarProgressChange(R.id.seekbar1)
void onProgressChangeOnSeekBar(SeekBar seekBar, int progress, boolean fromUser) {
// Something Here
setObject(String.valueOf(progress));
}
@SeekBarProgressChange(R.id.seekbar1)
void onProgressChangeOnSeekBar(SeekBar seekBar, int progress) {
// Something Here
setObject(String.valueOf(progress));
}
@SeekBarProgressChange({R.id.seekbar1, R.id.seekbar2})
void onProgressChangeOnSeekBar(SeekBar seekBar) {
// Something Here
setObject(String.valueOf(seekBar.getProgress()));
}
@SeekBarProgressChange({R.id.seekbar1, R.id.seekbar2})
void onProgressChangeOnSeekBar() {
// Something Here
}
}
@SeekBarProgressChange({R.id.seekbar1, R.id.seekbar2}) :支持绑定多个View
同样,与前面的几个事件一样,也支持多种参数形式
@SeekBarTouchStart、@SeekBarTouchStop
原有代码书写方式见前面那个注解,这里就不重复了
有了这两个注解后,我们可以这样写代码了:
@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {
@ViewById(R.id.tv_test)
TextView tvTest;
@ViewById
SeekBar seekbar1;
@UiThread
void setObject(String s){
tvTest.setText(s);
}
@SeekBarTouchStart(R.id.seekbar1)
void seekbarStart(SeekBar seekBar)
{
Toast.makeText(TestActivity.this, "seekbar touch stare", 100).show();
}
@SeekBarTouchStop(R.id.seekbar1)
void seekbarStop(SeekBar seekBar)
{
Toast.makeText(TestActivity.this, "seekbar touch stop", 100).show();
}
}
至这里AndroidAnnotations的事件的注解就全部结束了
分享到:
相关推荐
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记...
Apollo学习笔记-感知简介是Apollo的核心组件之一,负责感知环境中的物体和事件。下面是Apollo学习笔记-感知简介的相关知识点: 1. 感知步骤: Apollo学习笔记-感知简介中,感知步骤包括四个步骤:检测、分类、跟踪...
Linux课程学习笔记 -韩顺平 包含c/c++/python/java 专项 面试题 PDF PPT 笔记 面试题 (百度网盘链接 永久有效) 自学,做笔记,复习可用
ccnp学习笔记---stp
DAMA学习笔记-第01-17章细化第5章数据建模较多内容
Python学习笔记--皮大庆
2004考研通信原理笔记--续大我2004考研通信原理笔记--续大我2004考研通信原理笔记--续大我2004考研通信原理笔记--续大我2004考研通信原理笔记--续大我2004考研通信原理笔记--续大我
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习...