java - 在 onCreate 中创建按钮时使用注释单击
问题描述
我想将 @Click Android Annotation 添加到未在 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 buttonLoadExtra 在资源文件中定义:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="buttonLoadExtra" type="id" />
</resources>
但它不是这样工作的。这可能很明显,因为当链接到单击操作完成时,该按钮尚不存在。那么有没有办法解决这个问题,或者我可以将注释仅用于“现有按钮”。
先感谢您
解决方案
不幸的@Click
是,如果您稍后添加视图,注释将不起作用,因为 AndroidAnnotation 正在设置监听器setContentView()
,并且您在运行之后添加视图。
推荐阅读
- python - 在 python 中,base 37 数字如何表示为字符串?
- regex - 如何从 Jenkinsfile/Groovy 的命令输出中仅以列表形式返回数字?
- firebase - node.js 不支持 firebase 中的推送通知功能吗?
- android - 无法创建进程:执行流式安装 adb:安装失败
- python - pyspark rdd 将多个 json 文件数据合并到一个 rdd
- pandas - 如何在熊猫的数据框中按行分组
- azure - 从 .NET Core 向 Application Insights 跟踪添加自定义维度
- android - 如何在 Android 上的 EditText 上设置属性和 actionEvent
- javascript - 页面在初始页面加载时有效,但如果我刷新页面,我会收到 Zeit、Nextjs 和现在的 404 错误
- mysql - 无法诊断 MySQL 存储过程的问题