这些之间的主要区别是如果我的布局文件是R.layout.custom_layout
有很多教程只是代表resourceId放置的是R.layout.custom_layout。
代表textViewRourceId只是放置一个在R.layout.custom_layout中声明的TextView的id
ArrayAdapter(Context context,int resourceId,int textViewResourceId,List list)
和
ArrayAdapter(Context context,int resourceId,List list)
我真的怀疑我应该在哪里使用?为什么?
1)在我的观点中,在自定义适配器中,两者都相同
2)我无法理解第一个构造函数参数int textViewResourceId
。参数如何/为何使用?
3)May使用了另一个未在R.layout.custom_list中声明的textViewResourceId
由于
答案 0 :(得分:0)
ArrayAdapter(Context context,int resourceId,List list)
常见示例是您希望toString()
使用android.R.layout.simple_list_item_1
的任何数据。
对于其他构造函数,您必须提供包含TextView的布局,并将父布局和该TextView的id作为参数。 TextView不能来自其他布局。
答案 1 :(得分:0)
通常,如果您想要自定义适配器,最好使用BaseAdapter。 2用法: ArrayAdapter(Context context,int resourceId,List list) - 布局应该只有1个TextView
视图ArrayAdapter(Context context,int resourceId,int textViewResourceId,List list) - 自定义布局可能很复杂,并且至少包含一个TextView,它在构造函数中具有ID作为参数textViewResourceId。
https://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context,int,int,T [])