-
Notifications
You must be signed in to change notification settings - Fork 227
参数注入
Half Stack edited this page Jul 7, 2017
·
1 revision
通过@InjectParam
注解可以为Activity或者Fragment的成员变量添加参数注入
例如:
@Route({"test", "http://example.com/test", "router://test"})
public class TestActivity extends AppCompatActivity {
@InjectParam
int id = 123;
@InjectParam(key = "status")
private String sts = "default"; // 不建议使用private修饰符
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Router.injectParams(this); // 实现参数注入
}
}
-
@InjectParam
会在Bundle中取出对应key的值传给成员变量,默认key为变量名,也可以通过key=""
属性指定 - 参数注入支持变量的默认值,目前支持默认值的变量类型有
基本数据类型
,String
,CharSequence
- 变量不建议使用
private
修饰符,因为私有的变量会采用反射的方式注入参数 - 需要使用
Router.injectParams(this);
来实现最终的参数注入