【发布时间】:2011-08-19 02:17:10
【问题描述】:
我使用循环创建了一个包含 5 个可点击文本视图的数组,设置了它们的参数(大小、颜色、背景图像、可点击等),并设置了一个 onClickListener,该数组称为“myArrayofTVs”。它们的 id 已使用循环 int (i) 设置。我有另一个包含文本字符串的预定义数组,并且布局上存在其他文本视图。稍后在 onClick 方法中,由于所有按钮/可点击的文本视图都执行非常相似的操作,我希望能够执行以下操作:
@Override
public void onClick(View v) {
if(v == myArrayofTVs[i]) { //using 'i' here doesn't seem to work
tv1.setText(myArray2[i]);
tv2.setText(myArray2[i+1];}
etc
etc}
我尝试了各种不同的方法,例如使用 switch case 语句(真的不想使用这些,因为会有很多重复的代码,每次我想添加一个新的 case 语句将来添加新的文本视图/按钮)。无论如何使用一个语句来处理基于给定变量 id 的所有按钮/可点击文本视图,还是我必须为每个语句使用单独的 case/tag/id 语句?
非常感谢!
【问题讨论】: