我正在尝试通过按钮点击将我在外部范围内的值发送到我的函数 但是当我在调试模式下运行时,我看到变量的值是空的,尽管在构建按钮期间它有一个值。这是我的代码:
try
{
String name = album.getString("name");
final String albumId = album.getString("albumID");
Button btnAlbum = new Button(this);
btnAlbum.setText(name);
btnAlbum.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
btnAlbum.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
GetImages (albumId);
}
});
albumHolder.addView(btnAlbum);
}
所以我的意思是变量:“albumId”,我试图传递给click事件的函数。
忘了提到我的函数是在for循环中调用的......
答案 0 :(得分:1)
我不会在匿名函数中使用局部变量。尝试使用类字段的引用,例如yourActivity.this.albumID
如果你需要为每个小部件保存一些数据,你可以在视图上使用setTag来保存一个对象,并在你的回调上使用getTag来检索它。