android – 使用循环设置按钮onclicklistener

前端之家收集整理的这篇文章主要介绍了android – 使用循环设置按钮onclicklistener前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用一个循环来设置单击时每个按钮的动作(因为大多数按钮只会返回它们的文本值),但是我得到一个错误,声明“变量’我是从内部类中访问的,需要被宣布为最终“.我怎么能绕过这个?

这是我得到的

  1. String getValuesPressed(){
  2.  
  3. for(int i = 0; i < buttonList.length; i++){
  4.  
  5. buttonList[i].setOnClickListener(new View.OnClickListener() {
  6. @Override
  7. public void onClick(View v) {
  8.  
  9. if(i == 0){//error occurs here
  10. //do stuff
  11. }
  12.  
  13. }
  14. });
  15. }
  16. return textOnScreen;
  17. }

解决方法

您可以将i的值复制到临时最终变量中 –
  1. for (int i = 0; i < buttonList.length; i++) {
  2. final int finalI = i;
  3. buttonList[i].setOnClickListener(new View.OnClickListener() {
  4. @Override
  5. public void onClick(View v) {
  6. if (finalI == 0) {//error occurs here
  7. //do stuff
  8. }
  9. }
  10. });
  11. }

猜你在找的Android相关文章