gpt4 book ai didi

android - Spinner 上的 setAdapter() 和 setDropDownViewResource() 之间的区别

转载 作者:行者123 更新时间:2023-11-29 01:08:38 25 4
gpt4 key购买 nike

我看了这个问题Difference between android.R.layout.simple_spinner_dropdown_item and android.R.layout.simple_spinner_item ,但找不到我的问题的答案。

我可以看出 simple_spinner_item 和 simple_spinner_dropdown_item 之间存在差异。但是为什么我需要同时设置它们呢? Spinner 布局的哪一部分由 setAdapter() (simple_spinner_item ) 中设置的布局控制哪一个按布局设置在 setDropDownViewResource() (simple_spinner_dropdown_item) 中?

现在我不明白为什么我不能做相反的事情:将 simple_spinner_item 与 setDropDownViewResource() 一起使用和 simple_spinner_dropdown_itemsetAdapter()

最佳答案

我看到了困惑。换句话说:“为什么我还要向适配器的构造函数提供 android.R.layout.simple_spinner_item?它是如何使用的?”

布局资源,提供给适配器的构造函数is used测量微调器行项目的 View 。从 AbsSpinner#onMeasure() mAdapter.getView() 被调用,最终 uses mResource(从构造函数传递到适配器的资源 ID)来膨胀 View 。

另一方面,mDropDownResource is usedSpinner 的每一行充气。

请注意,如果您没有显式提供 mDropDownResource,它默认为适配器构造函数中提供的 mResource

public ArrayAdapter(@NonNull Context context, @LayoutRes int resource,
@IdRes int textViewResourceId, @NonNull List<T> objects) {
...
mResource = mDropDownResource = resource;
...
}

关于android - Spinner 上的 setAdapter() 和 setDropDownViewResource() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45128935/

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