2015-03-17 3 views
-1

Из этого кода он создает динамические кнопки, которые присоединяются к заданному значению из другого макета. Мне нужно получить идентификатор этого и добавить еще одну кнопку (если нажата динамическая кнопка, мне нужно добавить другую кнопку динамически).Мне нужно получить идентификатор кнопки с динамическимгенератором

for (int i = 0; i < value1; i++) { 
LinearLayout.LayoutParams paramsIButton = new LinearLayout.LayoutParams 
       ((int) ViewGroup.LayoutParams.WRAP_CONTENT, (int)  ViewGroup.LayoutParams.WRAP_CONTENT); 
      ibutton = new ImageButton(HomePage.this); 
      ibutton.setImageResource(R.drawable.add); 

      ibutton.setLayoutParams(paramsIButton); 
      paramsIButton.topMargin = -70; 
      paramsIButton.leftMargin = 370; 
      paramsIButton.bottomMargin = 30; 
      ibutton.setId(i); 

      ibutton.getPaddingBottom(); 
      ibutton.setBackgroundColor(Color.WHITE); 
      ibutton.setAdjustViewBounds(true); 

      rR.addView(ibutton); 

     } 
+0

Просьба предоставить более подробную информацию о своей проблеме. – TheCrafter

+0

Я создаю блок для обработки лампочек и вентиляторов. Я динамически создаю единицу, включая количество лампочек и вентиляторов, которые выбирает пользователь. Я успешно выполнил эту часть! моя проблема заключается в том, что пользователь на странице динамически созданного устройства, если пользователь нажимает кнопку, должна быть создана другая лампочка. Я не могу сделать эту часть, потому что не знаю, как определить, нажал ли пользователь эту кнопку для добавления. Пожалуйста, помогите мне! Это действительно важно для меня –

+2

Редактировать свой вопрос с этой информацией, чтобы будущие пользователи его видят –

ответ

1

Если я правильно понял из дополнительной информации, предоставленной вами в вашем комментарии, вам нужно знать, когда пользователь нажал кнопку. Вы можете установить OnClickListener на свою кнопку.

// Somewhere in your activity . . . 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);  

    Button button = (Button) findViewById(R.id.button1); 

    button.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
     // The button is clicked! Do whatever you want. 
     } 
    }); 
} 

// ... 
// Rest of the code 
// ... 

Конечно, вы должны заменить R.id.button1 с идентификатором вашей кнопки.

+0

Спасибо большое. Я попробую этот код –

+0

Ohhh Да! Это сработало! Большое спасибо, много! :) –

+0

@IsharaAsheni Нет проблем! – TheCrafter

1

Мне кажется, что вам нужно добавить onClickListener для динамически добавленной кнопки.

Сделайте свой класс реализации OnClickListener, а затем добавить слушателя для динамической кнопки:

ibutton.setOnClickListener(this); 

и добавьте OnClick Слушатель в своем классе:

@Override 
    public void onClick(View v) 
    { 
     // do something with this ID 
     v.getId() 
    } 

Я не знаю, как вы держите следите за лампочками и вентиляторами, я надеюсь, вы не сделаете это через элементы пользовательского интерфейса. Я бы сделал это немного по-другому, создав структуру данных для отслеживания лампочек и вентиляторов и привязав конкретный объект лампы или вентилятора к элементу пользовательского интерфейса в качестве тега.

+0

Большое вам спасибо! Я пробую код –

+0

Thanx много! Настройка onClickListner() работала для меня! Thanx за вашу помощь! –

Смежные вопросы