我創建了一個使用循環的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語句?
非常感謝提前!