Кто-нибудь знает, как создавать кнопки для алфавита (для ангара-приложения) в цикле for?
Я не уверен, что нужно делать в классе java и что нужно сделать в XML-файле.ANDROID: Как настроить кнопки в цикле for?
-12
A
ответ
1
Вам ничего не нужно делать в файле 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);
}
+0
Но эти коды ее не делают ничего, кроме создания кнопок. Все хорошо, но как я могу сделать их видимыми? – fuLLMetaLMan
-1
for(int i=0; i<n; i++)
{
Button b = new Button(this);
b.setId(i);
}
0
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);
}
0
здесь вы идете. но вы должны также отметить, что ваш макет должен быть линейным, и ориентация должна быть установлена в зависимости от того, как вы хотите, чтобы ваша кнопка была организована.
Если вы используете относительный вид, кнопки будут складываться друг над другом, и это будет ваша последняя зацикленная кнопка, которая будет показана.
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) {
}
};
}
Вы попробовали любой ответ? –