2015-08-21 3 views
1

Моя программа динамически создает кнопку, когда пользователь вводит свое имя.Использование динамически созданных кнопок в Android

  changeButton = new Button(getApplicationContext()); 

      changeButton.setText("Change"); 
      changeButton.setId(R.id.buttonOne); 

Я создал идентификатор в папке res/values. Я бы хотел установить OnClickListener() для этой кнопки, но я не уверен, как ее достичь? Обычно я создавал объект Button и указывал бы на свой виджет Button в моем XML-файле (findViewById (R.id.whateverButtonItIs). В этом случае, поскольку он был создан динамически, в XML-файле нет ничего, чтобы указать на то, что я не уверен, как сделать его работу Пожалуйста, помогите Спасибо

+1

у вас уже есть экземпляр кнопки, так как вы назначили его переменной 'changeButton' Используйте просто. 'changeButton.setOnClicklistener (yourListener);' –

+0

путь такой же, либо вы создали его из xml или dynamic. –

ответ

2

попробовать это:...

LinearLayout ll = (LinearLayout)findViewById(R.id.layout); 

     Button btn = new Button(this); 
     btn.setText("Manual Add"); 
     btn.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 
     ll.addView(btn); 
    btn .setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 


       }}); 
Смежные вопросы