在onCreate中创建按钮时使用注释单击



我想添加@Click Android Annotation to按钮,该按钮没有在layout.xml中定义,而是在onCreate中创建并以编程方式添加到SearchView:

@EActivity
public class NewRecipeActivity extends BaseActivity{
@ViewById(R.id.buttonLoadExtra)
Button buttonLoadExtra;
@ViewById(R.id.listViewSearch)
ListView listViewSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newrecipe);
buttonLoadExtra =  new Button(this);
buttonLoadExtra.setId(R.id.buttonLoadExtra);
buttonLoadExtra.setText("Weitere Laden...");

listViewSearch.addFooterView(buttonLoadExtra);
} 
@Click
void buttonLoadExtra(){ //Do stuff }
}

其中id按钮LoadExtra在资源文件中定义:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="buttonLoadExtra" type="id" />
</resources>

但它不是这样工作的。这可能是显而易见的,因为当链接到单击操作时,按钮还不存在。那么,有没有办法解决这个问题,或者我可以只为"现有按钮"使用注释吗。

提前感谢

不幸的是,如果稍后添加视图,@Click注释将不起作用,因为AndroidAnnotation将在setContentView()期间设置侦听器,并且在运行之后添加视图。

最新更新