首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OnClickListener:为什么我不能在ArrayAdapter中访问对象的公共方法?有什么解决方法吗?

在ArrayAdapter中无法直接访问对象的公共方法是因为ArrayAdapter是一个通用的适配器,它的目的是将数据集合中的每个对象转换为视图展示在界面上。因此,ArrayAdapter只能访问对象的公共属性,而不能直接访问对象的公共方法。

解决这个问题的方法是创建一个自定义的适配器,继承自ArrayAdapter,并重写getView方法。在getView方法中,可以通过getItem方法获取到数据集合中的每个对象,然后可以直接访问对象的公共方法。

以下是一个示例代码:

代码语言:java
复制
public class CustomAdapter extends ArrayAdapter<MyObject> {
    public CustomAdapter(Context context, List<MyObject> objects) {
        super(context, 0, objects);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // 获取当前位置的对象
        MyObject myObject = getItem(position);

        // 访问对象的公共方法
        myObject.publicMethod();

        // 其他自定义的逻辑

        return convertView;
    }
}

在使用自定义适配器时,可以将数据集合传递给适配器的构造方法,并将适配器设置给ListView或RecyclerView等控件。

这样,就可以在自定义适配器中访问对象的公共方法了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券