首页 > 代码库 > 【二】注入框架RoboGuice使用:(Your First View Injection)

【二】注入框架RoboGuice使用:(Your First View Injection)

  上一篇我们简单的介绍了一下RoboGuice的使用(【一】注入框架RoboGuice使用:(A brief example of what RoboGuice does)),今天我们我看下View的注解的使用方法.

       为了在Activity中使用View的注解,必须实现以下三个步骤:

       ①:自己定义的Activity继承RoboActivity

       ②:设置内容视图 content View

       ③:使用 @InjectView来进行注解View控件

       下面我们来详细看一下使用方法:

(一)首先创建一个继承与RoboActivity的Activity:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public class MyActivity extends RoboActivity {  
  2.         ...  
  3.     }  

然后添加一个布局到Activity中:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. // Override onCreate() and call setContentView()  
  2.    public class MyActivity extends RoboActivity {  
  3.   
  4.        @Override  
  5.        protected void onCreate( Bundle savedState ) {  
  6.            setContentView(R.layout.myactivity_layout);  
  7.        }  
  8.    }  

我们在布局文件myactivity_layout.xml中定义了控件TextView该ID为text。现在就可以对该view控件进行注解并且可以不通过findViewByID进行初始化,直接使用了。

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public class MyActivity extends RoboActivity {  
  2.         @InjectView(R.id.text1) TextView textView;  
  3.   
  4.         @Override  
  5.         protected void onCreate( Bundle savedState ) {  
  6.             setContentView(R.layout.myactivity_layout);  
  7.             textView.setText("Hello!");  
  8.         }  
  9.     }  

现在一个简单的View注解例子就完成了,很简单吧,是不是感觉省了很多功夫了。

(二)contentview 注解

     上面演示的是View注解,同样布局设置也可以通过注解来实现,如下:

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. @ContentView(R.layout.myactivity_layout)  
  2.     public class MyActivity extends RoboActivity {  
  3.         @InjectView(R.id.text1) TextView textView;  
  4.   
  5.         @Override  
  6.         protected void onCreate( Bundle savedState ) {  
  7.             textView.setText("Hello!");  
  8.         }  


(三)当然除了上面的view控件,contentview注解,我们还可以注解任何类型的view,甚至还可以是自定义View。

【二】注入框架RoboGuice使用:(Your First View Injection)