繁体   English   中英

如何在Android ListView中从内部类访问外部类非最终变量?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM