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

标签 java android onclick android-annotations

我想将@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/

相关文章:

java - 将数据从子 Activity 发送到主要 Activity

Java从属性文件yaml中存储和读取字节数组

java - ASM : outputting java bytecode and opcode

android - 屏幕移动

javascript - 如何通过 javascript OnClick 使用 jQuery 点击功能

java - 痛饮 :how to deal with pointers in generated Java code

java - 为什么我的 Android 应用程序将空白记录插入 MySQL 数据库?

android - 从广播接收器获取唤醒锁时出现问题

php - 尝试 php 重新加载页面

onclick - Fullcalendar onclick 显示 dayview