【发布时间】:2012-09-14 09:20:15
【问题描述】:
我开发了一个使用HorizontalScrollView 的Android 应用程序,而HorizontalScrollView 有一个孩子作为LinearLayout。
现在我想在运行时动态地在LinearLayout 上添加按钮。
我添加按钮成功,但问题是我的按钮点击事件在Android中不起作用。
ArrayList listClassItems = objCompany.getListClassItems();
Button[] btnCategory = new Button[listClassItems.size()];
for(int i=0;i<listClassItems.size();i++)
{
System.out.println("OTHER_CLASS LENGTH : " + listClassItems.size());
System.out.println("CLASS ID : " + listClassItems.get(i).getClassId());
System.out.println("CLASS NAME : " + listClassItems.get(i).getClassName());
btnCategory[i] = new Button(myContext);
btnCategory[i].setId(i);
btnCategory[i].setTag(listClassItems.get(i).getClassId());
btnCategory[i].setText(listClassItems.get(i).getClassName());
btnCategory[i].setClickable(true);
btnCategory[i].setPadding(10,10,10,10);
LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
if(i!=0 || i!=listClassItems.size()-1)
{
layParams.leftMargin = 10;
layParams.rightMargin = 10;
}
tabRowBottom.addView(btnCategory,layParams);
btnCategory[i].setOnClickListener(null);
tabRowBottom.addView(btnCategory[i]);
btnCategory[i].setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(myContext, "=== Button CLICKED ===",Toast.LENGTH_SHORT).show();
btnCategory.setBackgroundColor(Color.BLACK);
}
});
}
【问题讨论】:
-
贴出sn-p,出现问题的地方..
-
请注意对您的帖子进行的格式改进。您可以通过单击“编辑”查看用于改进帖子的标记。供将来参考,格式化帮助可以在here找到。
标签: android button dynamic android-linearlayout horizontalscrollview