【发布时间】:2020-07-30 02:36:27
【问题描述】:
好的,所以我正在制作一个 android 应用程序,并且我有一个目标列表,可以说是为了便于解释。一个目标由一个字符串组成。该数据将来自数据库,因此将来列表的长度可能会稍长或稍短。每个目标都放置在按钮的文本中。
我已经创建了这个循环来在运行时创建按钮,因为列表的长度取决于之前发生的事情,这一切都很好,我可以创建按钮并将它们放置在我想要的位置等。这是我曾经这样做的代码。
for (int i = 0; i < goals.size(); i++){
buttons[i] = new Button(this.getContext());
buttons[i].setLayoutParams(params);
buttons[i].setPadding(0,150,0,150);
buttons[i].setGravity(Gravity.CENTER);
buttons[i].setText(goals.get(i));
buttons[i].setBackgroundResource(R.drawable.btn_back);
buttons[i].setTextSize(30);
buttons[i].setTransformationMethod(null);
linear.addView(buttons[i]);
}
现在我的问题是我希望每个按钮的点击做一个稍微不同的事情 - 取决于目标,即按钮的文本。我真的在努力设置点击事件,以便即使我已经动态地创建了所有按钮,不同的按钮也会做不同的事情。
我可以详细介绍我在 android studio 中的设置,但我觉得我已经对我的问题提供了足够的洞察力。
感谢您的帮助。
【问题讨论】:
-
为什么不使用 ListView 或 RecyclerView ?
-
我对上面的评论感到失望,您可能会考虑使用优化并保存所有按钮列表的东西,您可以创建一个“点击”侦听器,通过适配器指定行为每个项目。
标签: java android events button click