android 使用匿名内部类、,外部变量需要final修饰,如何解决求助

liuxiaoddd 2014-06-09 08:34:17
mon_tv是TextView的数组
mon_et是EditText的数组
for(int i=0;i<15;i++){
mon_tv[i].setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//从下一行开始i开始报错,要求i为final,但是我的i不能是final啊,求助
//查资料有人说不要用匿名类,直接声名为一个类,并实现OnLongClickListener接口
//但是里面需要变量传递进去参数我该怎么做,谢谢

mon_tv[i].setVisibility(View.GONE);
mon_et[i].setVisibility(View.VISIBLE);
mon_et[i].setText(mon_tv[0].getText().toString());
mon_et[0].setOnEditorActionListener(new OnEditorActionListener() {

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
mon_et[0].setVisibility(View.GONE);
mon_tv[0].setVisibility(View.VISIBLE);
mon_tv[0].setText(mon_et[0].getText().toString());
}
return false;
}
});


return false;
}
});
...全文
324 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
韩曙亮 2014-06-11
  • 打赏
  • 举报
回复
在 你自定义的类里面 定义变量, 这些变量在 构造函数中初始化
哎,真难 2014-06-11
  • 打赏
  • 举报
回复
定义全局变量,在最上层
程序猿L 2014-06-11
  • 打赏
  • 举报
回复
设置成全局变量不就可以了么
  • 打赏
  • 举报
回复

  for (int i = 0; i < 15; i++) {
            final int j=i;
            mon_tv[i].setOnLongClickListener(new OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    mon_tv[j].setVisibility(View.GONE);
                    mon_et[j].setVisibility(View.VISIBLE);
                    mon_et[j].setText(mon_tv[0].getText().toString());
                    mon_et[0].setOnEditorActionListener(new OnEditorActionListener() {

                        @Override
                        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                            if (actionId == EditorInfo.IME_ACTION_DONE) {
                                mon_et[0].setVisibility(View.GONE);
                                mon_tv[0].setVisibility(View.VISIBLE);
                                mon_tv[0].setText(mon_et[0].getText().toString());
                            }
                            return false;
                        }
                    });

                    return false;
                }
            });
        }
u010110521 2014-06-10
  • 打赏
  • 举报
回复
可以把i设置成全局变量 循环内部i++
映映 2014-06-10
  • 打赏
  • 举报
回复
mon_tv[i] 设置为全局变量
liuxiaoddd 2014-06-09
  • 打赏
  • 举报
回复
怎么没有人来呢。。。
liuxiaoddd 2014-06-09
  • 打赏
  • 举报
回复
我再顶一下!求助啊
liuxiaoddd 2014-06-09
  • 打赏
  • 举报
回复
我顶一下,求救各位网友

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧