我的数组
String array1[] = menuname.toArray(new String[menuname.size()]);
array2 = menuid.toArray(new String[menuid.size()]);
我的动态按钮编码
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.l);
List<Button> list = new ArrayList<Button>();
for (int i = 1; i < array1.length; i++) {
LinearLayout l = new LinearLayout(this);
l.setOrientation(LinearLayout.HORIZONTAL);
button.setText(String.valueOf(i));
button.setText(" " + array1[i]);
button.setId(i);
button.setWidth(180);
button.setHeight(60);
button.setTextColor(Color.BLUE);
button.setTypeface(Typeface.SERIF, Typeface.BOLD);
l.addView(button);
linearLayout.addView(l);// if you want you can layout params
// linearlayout
list.add(button);
}
array1[]
包含button
的名称...和array2[]
包含按钮的ID ....我想设置动态按钮的ID和名称。这样做?
答案 0 :(得分:0)
也许使用button.setText(array2[i] + " " + array1[i]);
?这是你想要的其他东西吗?
答案 1 :(得分:0)
您可以在运行时将id
设置为您的按钮并在其上设置onClickListener
,单击该按钮时您将获得id
。
if(nameArray.length()==idArray.length())
{
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.menuLayout);
List<Button> buttonList = new ArrayList<Button>();
for (int i = 1; i < nameArray.length; i++) {
btnMenu.setText(String.valueOf(i));
btnMenu.setText(" " + nameArray[i]);
btnMenu.setId(idArray[i]);
btnMenu.setWidth(180);
btnMenu.setHeight(60);
btnMenu.setTextColor(Color.BLUE);
btnMenu.setTypeface(Typeface.SERIF, Typeface.BOLD);
btnMenu.setOnClickListener(this);
linearLayout.addView(btnMenu);
list.add(button);
}
}
public void onClick(View view) {
super.onClick(view);
switch (view.getId()) {
case idArray[0]:
// button with id "idArray[0]" is clicked
break;
}
}
答案 2 :(得分:0)
您可以使用
在代码中设置按钮的ID button.setId(array2[i]);