использовать аннотацию щелкать при создании кнопки в onCreate - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу добавить аннотацию @Click Android к кнопке, которая не определена в макете. 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>

Но это не работает так. Это может быть очевидно, потому что кнопка не существует, когда ссылка на действие щелчка выполнена. Так есть способ решить эту проблему или я могу использовать аннотацию только для «существующей кнопки».

Заранее спасибо

1 Ответ

0 голосов
/ 22 апреля 2020

К сожалению, аннотация @Click не работает, если вы добавляете представление позже, потому что AndroidAnnotation устанавливает прослушиватель во время setContentView(), и вы добавляете представление после того, как оно запускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...