Android RoboGuice使用指南(18):Inject Resources

Roboguice 對訪問res 目錄下各種資源drawable, arrary, string 等也提供瞭註入支持。可以通過@InjectResource 很方便的應用所需資源。

本例修改Android ApiDemos示例解析(48):Content->Resources->Resources 使用Inject Resource方法來訪問資源。

[java] public class InjectResourceDemo extends RoboActivity { 
  
 @InjectView (R.id.styled_text) TextView styled_text; 
 @InjectView (R.id.plain_text) TextView plain_text; 
 @InjectView (R.id.res1) TextView res1; 
 @Inject Resources res; 
 @InjectResource(R.string.styled_text) String str; 
  
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.injectresource); 
  
 //Use res to get the string resources  
 CharSequence cs=res.getText(R.string.styled_text); 
 // Note the use of  
 // CharSequence instead of String  
 // so we don't lose the style info.  
 styled_text.setText(cs); 
  
 // Use the same resource, but convert it to  
 // a string, which causes it  
 // to lose the style information.  
 plain_text.setText(str); 
 res1.setText(cs); 
  
 } 
  

public class InjectResourceDemo extends RoboActivity {
 
 @InjectView (R.id.styled_text) TextView styled_text;
 @InjectView (R.id.plain_text) TextView plain_text;
 @InjectView (R.id.res1) TextView res1;
 @Inject Resources res;
 @InjectResource(R.string.styled_text) String str;
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.injectresource);
 
 //Use res to get the string resources
 CharSequence cs=res.getText(R.string.styled_text);
 // Note the use of
 // CharSequence instead of String
 // so we don't lose the style info.
 styled_text.setText(cs);
 
 // Use the same resource, but convert it to
 // a string, which causes it
 // to lose the style information.
 plain_text.setText(str);
 res1.setText(cs);
 
 }
 
}


 

本例下載:http://up.aiwalls.com/2012/0507/20120507111059873.zip

摘自 引路蜂移動軟件

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。