Создание кнопки RelativeLayout - PullRequest
       16

Создание кнопки RelativeLayout

1 голос
/ 16 ноября 2011

Я пытаюсь создать кнопки после нажатия кнопки (это сделано в XML).Дело в том, что я могу сделать это в LinearLayout, однако, когда я переключаюсь на RelativeLayout при каждом запуске моего метода buttoncreator, он удаляет ранее созданную кнопку и создает новую.

, чтобы быть более специфичным;Мой метод buttoncreator

public void buttoncreator(String name,RelativeLayout.LayoutParams position,RelativeLayout layout){



    positionrandomer(position);
    final Button dummybutton = new Button(this);
    dummybutton.setText(name);

            //these are here for test,it works but still i have the same problem

    position.addRule(RelativeLayout.BELOW,R.id.button1);
    position.addRule(RelativeLayout.BELOW,R.id.button2);

    dummybutton.setLayoutParams(position);

      layout.addView(dummybutton);
      return;

}    

(рандомер позиции - это метод, в котором он устанавливает случайные поля).

Место, где я вызываю метод создателя

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

                luckbutton.setOnClickListener(new Button.OnClickListener(){

                            public void onClick(View arg0) {
                                name="Blue";
                buttoncreator(name,position,layout);
                name="Blu4e";
                buttoncreator(name,position,layout);





                                                            }
                                                                           });     

, такНамерение состоит в том, чтобы создать 2 кнопки на 1 нажатие кнопки, однако оно создает только 1. (фактически, оно создает первую, затем удаляет ее и создает вторую).

По-видимому, есть кое-что, с чем я не понимаюRelativeLayouts, что я делаю не так?

Спасибо заранее

1 Ответ

0 голосов
/ 16 ноября 2011

Я могу предложить вам обходной путь, чтобы делать то, что вы хотите.Почему бы вам не создать свои кнопки в своем XML-файле и не установить их видимость в onCreate() на View.GONE, а в кнопках onClick вы установите их видимость на View.VISIBLE.Я думаю, что это будет делать то, что вы хотите, и я не думаю, что у вас будут проблемы с RelativeLayout.

...