因此,我已經成功地使用下面的一段代碼編程創建了多個文本視圖。我想爲這些文本視圖創建一個高效的單個偵聽器,因爲我需要對點擊執行操作。我如何知道哪個textview被點擊並以編程方式附加一個監聽器?在Android中以編程方式創建的多個文本視圖的單個onclick監聽器
PS:請勿使用XML佈局文件發佈解決方案。提前致謝。
optionCubesTextviews = new TextView[cubesLength];
for(i=0;i<cubesLength;i++) {
optionCubesTextviews[i] = new TextView(this);
optionCubesTextviews[i].setId(View.generateViewId());
optionCubesTextviews[i].setTextSize(baseFont);
final RelativeLayout.LayoutParams optionCubesTextviewsParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
optionCubesTextviewsParams.addRule(RelativeLayout.BELOW, solutionCubeTextviews[i].getId());
if (i != 0) {
optionCubesTextviewsParams.addRule(RelativeLayout.RIGHT_OF, optionCubesTextviews[i - 1].getId());
}
optionCubesTextviewsParams.setMargins(10, 10, 10, 10);
optionCubesTextviews[i].setPadding(20, 20, 20, 20);
optionCubesTextviews[i].setTypeface(Typeface.DEFAULT);
//String qTextColorColor = preferenceFile.getString("qTextColor", DefaultManager.qTextColor);
optionCubesTextviews[i].setTextColor(Color.WHITE);
optionCubesTextviews[i].setBackgroundColor(Color.parseColor(randomColorString));
optionCubesTextviews[i].setText(Character.toString(shuffledAnswerAsOptions.charAt(i)));
optionCubesTextviews[i].setVisibility(View.VISIBLE);
//Adding to Layout in invisible state
rLayout.addView(optionCubesTextviews[i], optionCubesTextviewsParams);
}
工具onclicklistner然後設置optionCubesTextviews.setOnclicklistner(本);並將您的通用代碼放在Onclick方法中,您可以使用這個方法來處理所有的textview。 –
https://stackoverflow.com/questions/46108600/get-text-from-dynamically-created-edittext-on-click-of-a-button指這 –