使用按钮添加其他按钮、editText 等。
Use a button to add other buttons, editText etc.
我需要能够使用 "add" 按钮将按钮添加到布局。问题是我需要每个按钮都有一个 OnClickListener()/onClick 方法。我在想,每次按下 "add" 按钮时,我都会向数组添加一个新按钮,但我不确定是否添加侦听器并为我创建的每个按钮实现 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();
}
}
});
}
每次单击 "Add" 按钮时,我都需要添加计时器、按钮和监听器。
随心所欲地设置所有的点击监听器!
在创建时调用 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 中,但在单击之前它们将被隐藏。
这是一种方式,其他答案我来。祝你好运:)
实现 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
}
}
}
希望这会起作用,没有测试它。
我需要能够使用 "add" 按钮将按钮添加到布局。问题是我需要每个按钮都有一个 OnClickListener()/onClick 方法。我在想,每次按下 "add" 按钮时,我都会向数组添加一个新按钮,但我不确定是否添加侦听器并为我创建的每个按钮实现 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();
}
}
});
}
每次单击 "Add" 按钮时,我都需要添加计时器、按钮和监听器。
随心所欲地设置所有的点击监听器!
在创建时调用 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 中,但在单击之前它们将被隐藏。
这是一种方式,其他答案我来。祝你好运:)
实现 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
}
}
}
希望这会起作用,没有测试它。