我需要从方法newiconid[0]
将arg2
的值更改为onItemSelected()
。我需要在onClick()
中使用该值。以下代码不起作用,只是将newiconid[0]
的值保留为0
。如何做到这一点?
@Override
public void onClick(DialogInterface dialog,
int which) {
final int newiconid[] = new int[1];
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(
AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
System.out.println("" + arg1 + arg2
+ arg3);
newiconid[0] = arg2;
}
@Override
public void onNothingSelected(
AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TODO Auto-generated method stub
System.out.println("updateicon "+newiconid[0]+" "+itemid);
datasource.updateVSIcon(newiconid[0], itemid);
}
答案 0 :(得分:2)
你已经做了 FINAL ,Final是常量,一旦初始化就不要改变。首先尝试最终结果,让我们知道会发生什么。
答案 1 :(得分:2)
您可以尝试让newiconid
成为班级成员吗?然后应该可以在两个范围中访问它。是的,正如@ Agent404所说,不要让它成为final