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
摘自 引路蜂移動軟件