ANDROID:如何在 for 循环中设置按钮?
Posted
技术标签:
【中文标题】ANDROID:如何在 for 循环中设置按钮?【英文标题】:ANDROID: How can I set up buttons in a for loop? 【发布时间】:2013-09-23 03:24:21 【问题描述】:有人知道如何在 for 循环中为字母表(对于刽子手应用程序)创建按钮吗?我不确定在 java 类中需要做什么以及在xml 文件。
【问题讨论】:
你有没有试过答案? 【参考方案1】:给你。但您还必须注意,您的布局必须是线性的,并且必须根据您希望按钮的排列方式设置方向。
如果您使用相对视图,按钮将相互堆叠,这是您最后一个循环显示的按钮。
LinearLayout layout = (LinearLayout) findViewById(R.id.rl_table_of_contents);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
Button[] btn = new Button[your_array];
for (int i = 0; i < your_array.length(); i++)
btn[i] = new Button(getApplicationContext());
btn[i].setText("Button "+ i);
//btn[i].setBackground();
btn[i].setTextSize(20);
//btn[i].setHeight(100);
btn[i].setLayoutParams(param);
btn[i].setPadding(15, 20, 15, 20);
layout.addView(btn[i]);
//btn[i].setOnClickListener(handleOnClick(btn[i]));
View.OnClickListener handleOnClick(final Button button)
return new View.OnClickListener()
public void onClick(View v)
;
【讨论】:
【参考方案2】:int count=26;
Button[] btnArray = new Button[26];
LinearLayout layout=new LinearLayout(this);
LinearLayout.LayoutParams params=new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
for(int i=0;i<count;i++)
btnArray[i]=new Button(this);
layout.addView(btnArray[i],params);
【讨论】:
【参考方案3】:您无需在XML
文件中执行任何操作。这一切都可以在课堂上完成。
for(int i=0; i < x; i++) // where x is the size of the list containing your alphabet.
Button button = new Button(this);
button.setId(i);
yourView.add(button);
【讨论】:
但是这些代码除了创建按钮之外,她什么也没做。这一切都很好,但我怎样才能让它们可见?【参考方案4】:for(int i=0; i<n; i++)
Button b = new Button(this);
b.setId(i);
【讨论】:
以上是关于ANDROID:如何在 for 循环中设置按钮?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 android 中的回收器视图运行 for 循环?
如何为 django 模板中的单个按钮的 for 循环中的按钮提供唯一 id?
如何在 for 循环中创建具有整数值的 Checkbuttons?