gpt4 book ai didi

android - 为什么自定义适配器需要资源?

转载 作者:行者123 更新时间:2023-11-29 00:15:31 26 4
gpt4 key购买 nike

我更像是一名 C++ 开发人员,最近才开始进行 Android 开发。在了解 ListView 的自定义适配器时,有一个想法让我印象深刻。

如果您查看 ArrayAdapter 的构造函数,它们都需要指向布局的资源。 ArrayAdapter

我想当我使用默认的 ArrayAdapter 类时传递布局很有帮助。

但由于我可以在我自己的类中@Override ArrayAdaptergetView 方法,并通过传递资源ID 手动填充 View ,那么为什么 ArrayAdapter 需要在其所有构造函数上使用资源 ID?

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

//In the below line I'm passing the resource id to the inflate method
View rowView = inflater.inflate(R.layout.rowlayout, parent, false);

return rowView;
}

最佳答案

如果您直接扩展 BaseAdapter,您可以自己处理布局膨胀。但是,ArrayAdapter 需要资源来获取项目并扩充项目布局。它的具体作用在一定程度上取决于您的实际代码。

我建议您看一下 ArrayAdapter 的源代码.这可能对您有所帮助。

有点题外话,您应该真正回收 View ,您也可以在 ArrayAdapters source code 中看到它是如何完成的。 ,否则您将创建许多不需要的元素。

关于android - 为什么自定义适配器需要资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com