[英]How to access outer class non-final variable from inner class in a Android ListView?
这是我的情况。
我正在做一个listview
扩展ArrayAdapter
类。 在该课程中,我将动态创建一个文本和一个复选框。 在该视图中,我要捕获用户单击的复选框。
这是我的ArrayAdapter
类的getView
方法...
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null)
v = inflater.inflate(R.layout.list_view_category_type_save, null);
categoryName = (TextView) v.findViewById(R.id.category_name_save);
checkBox = (CheckBox) v.findViewById(R.id.my_check_box);
categoryName.setText(categoryDeatils.get(position).get("Categoryname"));
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
/// below line of code gives error
String a = categoryDeatils.get(position).get("Categoryname");
}
}
});
return v;
}
我的问题是我如何在内部类中访问非最终变量(因为在getView
方法中position
变量是非最终变量并且它会动态变化)
尝试将位置声明为getView()中的final:
public View getView(final int position, View convertView, ViewGroup parent) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.