我想通过点击按钮的代码动态添加多个按钮,我搜索了许多以前显示添加单个按钮的帖子,但我需要多个按钮。
附件是示例代码。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddAll();
}
});
}
public void AddAll() {
final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);
final Button btn = new Button(this);
for(int i=0;i<4;i++)
{
rl.addView(btn);
btn.setText("hello");
btn.setWidth(320);
btn.setHeight(40);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
请提供帮助。但是添加单个按钮工作正常,但我需要在另一个下面添加许多按钮。
答案 0 :(得分:2)
public void AddAll() {
final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);
for(int i=0;i<4;i++)
{
final Button btn = new Button(this);
rl.addView(btn);
btn.setText("hello");
btn.setWidth(320);
btn.setHeight(40);
}
//////////////////////////////////////////////////////////
}
更多细节: -
How do I programmatically add buttons into layout one by one in several lines?
或
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView scrollView= new ScrollView(this);
LinearLayout mainLayout = new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL);
for (int i=0; i<10; i++){
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setTag(i);
TextView tv=new TextView(this);
tv.setText("Row " + i);
ll.addView(tv);
Button b = new Button(this);
b.setTag(i);
b.setText("Button " + i);
ll.addView(b);
mainLayout.addView(ll);
}
scrollView.addView(mainLayout);
setContentView(scrollView);
}
答案 1 :(得分:-1)
public void AddAll() {
LinearLayout layout = (LinearLayout) findViewById(R.id.linear);
layout.setOrientation(LinearLayout.HORIZONTAL);
for (int j = 0; j < 4; j++ ){
Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btnTag.setText("Button " + j);
layout.addView(btnTag);
}
}