我想将@Click Android注释添加到按钮,该按钮未在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>
但它不是这样工作的。这可能是显而易见的,因为当链接到单击操作完成时,该按钮尚不存在。那么有没有办法解决这个问题,或者我可以仅将注释用于“现有按钮”。
提前谢谢
最佳答案
不幸的是,如果您稍后添加 View ,@Click
注释将不起作用,因为 AndroidAnnotation 在 setContentView()
期间设置监听器,而您正在添加 View 之后运行。
关于java - 在onCreate中创建按钮时使用注释单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61269042/