Que*_*ery 5 android android-annotations
@EActivity(R.layout.data_layout)
public class MyActivity extendsActivity
{
@Bean MyEbean bean;
@AfterViews
public void setupView()
{
bean.loadData("Test name");
}
}
@EBean public class MyEbean
{
@RootContext context;
@ViewById(R.id.name_field)
TextView nameField;
public void loadData(String name)
{
nameField.setText(name);
}
}
Run Code Online (Sandbox Code Playgroud)
loadData()中的"nameField"为null.同时如果我在loadData()内执行此操作
nameField = (TextView)((Activity)context).findViewById(R.id.name_field); it's all good. So the view isdefinitely there. Also if I call this method from a retrofit callback
Run Code Online (Sandbox Code Playgroud)
(即延迟后)"名称"自动填充.
我正在使用Android Annotations 3.3.2
我不知道它不起作用的原因,但如果你需要它就可以工作,解决方案非常简单:
@EActivity(R.layout.data_layout)
public class MyActivity extends Activity {
@Bean MyEbean bean;
}
@EBean
public class MyEbean {
@ViewById Button previewButton;
@AfterViews void init() {
previewButton.setText("Blah");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |