我创建了一个使用循环的5个可点击文本视图的数组,设置了它们的参数(大小,颜色,背景图像,可点击等)并设置了onClickListener,并调用该数组“myArrayofTVs”。他们的ID已经使用循环int(i)设置。我有另一个预定义的数组,其中包含文本字符串,并且其他文本视图出现在布局中。后来在onclick方法,并且所有的按钮/点击textviews做的非常类似的东西,我希望能够做这样的事情:以编程方式创建按钮的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}
我已经尝试了各种不同的充方式,如使用开关case语句(真的不想使用它们,因为会有很多重复的代码,并且每次我希望在未来添加新的textview /按钮时,我都必须添加一个新的case语句)。是否有无论如何使用一个语句,将基于给定的变量id处理所有按钮/可单击的文本视图,还是必须为每个变量使用单独的case/tag/id语句?
非常感谢提前!