使用按钮添加其他按钮,editText等。

时间:2015-03-09 21:56:05

标签: android button automation

我需要能够使用“添加”按钮向布局添加按钮。问题是我需要每个按钮都有一个OnClickListener()/ onClick方法。我想每次按下“添加”按钮然后我会向数组添加一个新按钮,但我不确定添加监听器并为我创建的每个按钮实现onClick方法。

   public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final SmartChronometer chrono = (SmartChronometer) findViewById(R.id.chrono);

    final Button start = (Button) findViewById(R.id.button2);
    start.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (chrono.isRunning())
                 chrono.pause();
            else {

                chrono.chronoStart();
            }

        }
    });

}

每次点击“添加”按钮,我都需要添加计时器,按钮和听众。

2 个答案:

答案 0 :(得分:0)

设置所有的clicklisteners就像你一样!

在creat上调用findViewById(R.id.btnSecond).setVisibility(View.GONE);,然后点击第一个按钮

Button btnSecond;

...

  public void onClick(View v) {

    findViewById(R.id.btnSecond).setVisibility(View.VISIBLE);

 if (btnSecond.getVisibility() == View.VISIBLE); {    
    findViewById(R.id.btnThird).setVisibility(View.VISIBLE);}    
    }

通过这种方式,您可以将所有信息放在java文件中,并将所有按钮放在xml中,但在点击之前它们将被隐藏。

这是一种方式,其他答案我来了。祝你好运:)

答案 1 :(得分:0)

实现OnClickListener

Button add = (Button) findViewById (R.id.addButton);
add.setOnClickListener (this);

List<Button> buttons = new ArrayList <Button>();
for (int i = 0; i < buttons.size (); i++){
       buttons.get (i).setOnClickListener (this);
}

@Override
public void onClick (View v){
      for (int i = 0; i < buttons.size (); i++){
               if (v.getId () == buttons.get (i).getId ()){
                       // do stuff you want
               }else if (v.getId() == R.id.addButton){
                     //add button
               }
       }
}

希望这会起作用,没有测试过。