简体   繁体   English

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

[英]How to access outer class non-final variable from inner class in a Android ListView?

Here is my scenario. 这是我的情况。

I am making a listview extending a ArrayAdapter class. 我正在做一个listview扩展ArrayAdapter类。 In that class I am making a text and a check box dynamically. 在该课程中,我将动态创建一个文本和一个复选框。 In that view I want to capture what check box clicked by user. 在该视图中,我要捕获用户单击的复选框。

Here is my ArrayAdapter class's getView method...... 这是我的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;

    }

My question is how I access non-final variable with in the inner class.(Because in getView method the position variable is non final and it change dynamically) 我的问题是我如何在内部类中访问非最终变量(因为在getView方法中position变量是非最终变量并且它会动态变化)

尝试将位置声明为getView()中的final:

public View getView(final int position, View convertView, ViewGroup parent) {

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 内部类中的非final变量 - non-final variable inside an inner class 如何在Java的内部类中访问非最终变量号? - How do i access the non-final variable number inside an inner class in Java? 不能在内部类中引用非最终变量 - Cannot refer to non-final variable inside an inner class 为什么编译器在内部类中接受非final变量? - Why compiler is accepting a non-final variable in inner class? Java Android在内部类中引用非最终答案 - Java Android refer to a non-final answer inside an inner class 在内部类中引用非最终变量以检测android中的onClick - Referring non-final variable inside an inner class for detecting onClick in android Android-无法在以其他方法定义的内部类中引用非最终变量测试 - Android - Cannot refer to a non-final variable test inside an inner class defined in a different method Android:无法在以其他方法定义的内部类中引用非最终变量 - Android: Cannot refer to a non-final variable inside an inner class defined in a different method Android:绕过“无法引用已定义的内部类内的非最终变量” - Android: Bypassing 'Cannot refer to a non-final variable inside an inner class defined' 不能在不同方法中定义的内部类中引用非final变量str - 如何解决这个问题? - Cannot refer to a non-final variable str inside an inner class defined in a different method - How to fix this?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM