是否有一个类,IntArray和StringArray都是嗜好的 我有一个函数需要作为参数所有类型的数组在fragmentadapter中使用它
class MyPagerAdapter(val fragmentManager: FragmentManager,val collection:Array):FragmentStatePagerAdapter(fragmentManager){
override fun getCount(): Int {
Log.i("viewpager","count"+fragmentManager.fragments.size.toString())
return collection.size
}
}
有可能吗? 或者我会用另一种方式?
答案 0 :(得分:3)
如果你想处理任何Array<T>
类型,你的类应该是通用的:
class MyPagerAdapter<T>(val fragmentManager: FragmentManager, val collection: Array<T>)
原始数组包装器没有通用的超类型,但是有toTypedArray
个函数或每个函数可以将它们转换为适当类型的通用数组实例,例如:
val intArray: IntArray = intArrayOf(1, 2, 3)
val typedArray: Array<Int> = intArray.toTypedArray()
MyPagerAdapter(fragmentManager, typedArray)
答案 1 :(得分:1)
如果您只需要collection.size
,请传递大小。
如果您还需要其他任何内容,则无法完成并处理IntArray
和其他原始数组;您需要转换为Array<T>
,如@ zsmb13的答案。