如何在Recycler View中使用Spinner?

如何解决如何在Recycler View中使用Spinner?

伙计们。在过去的日子里,我一直在苦苦挣扎,因为我想实现一个Recycler View,它基本上只是一个Spinner,将根据所计数的用户数量出现。事实是,我从未在回收器视图中使用微调器,并且我认为它与String相同,但事实并非如此。

当我使用字符串时,我遵循的步骤与普通的Recycler View相同

我已经创建了一个模型类(Porcentaje.kt)

import android.widget.Spinner

class Porcentaje (var porcent: Spinner)

然后,适配器(Adapter)内部的Adapted(porcentajeAdapter.kt)位于顶部

class porcentajeAdapter(private var mContext: Context,var califList:ArrayList<Porcentaje>,var numCalif: Int): RecyclerView.Adapter<porcentajeAdapter.porcentaje>() {

lateinit var prefs: SharedPreferences
lateinit var editor: SharedPreferences.Editor
lateinit var prefs2: SharedPreferences
lateinit var editor2: SharedPreferences.Editor

class porcentaje(itemView: View) : RecyclerView.ViewHolder(itemView) {
    var spinner: Spinner = itemView.findViewById(R.id.sp_ca)
}

override fun getItemCount(): Int {
    return califList.size
}

override fun onCreateViewHolder(parent: ViewGroup,viewType: Int): porcentaje {
    val vista: View =
        LayoutInflater.from(parent.context).inflate(R.layout.fragment_frag_her,parent,false)
    prefs = mContext.getSharedPreferences("Herramientas",Context.MODE_PRIVATE)
    editor = prefs.edit()
    prefs2 = mContext.getSharedPreferences("TiendaShare",Context.MODE_PRIVATE)
    editor2 = prefs.edit()

    return porcentaje(vista)
}

override fun onBindViewHolder(holder: porcentaje,position: Int) {
    val porcentaje: Porcentaje = califList[position]
    holder.spinner = porcentaje.porcent
}}

然后将RV传递给我的片段

class fragHer(var nCalif: Int) : Fragment() {

var califList = ArrayList<Porcentaje>()
var spCalif: Spinner?=null
lateinit var adapter: porcentajeAdapter
lateinit var prefs: SharedPreferences
lateinit var editor: SharedPreferences.Editor



override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    arguments?.let {

    }
}

override fun onCreateView(
    inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?
): View? {
    // Inflate the layout for this fragment

    var vista = inflater.inflate(R.layout.fragment_frag_her,container,false)
    val context = vista.context


    prefs = context.getSharedPreferences("Herramientas",Context.MODE_PRIVATE)
    prefs.getInt("NumAsesores",0).let {
        if (it== 0) initData()
            else init(it)
    }



    //findViews
    spGerente = vista.findViewById(R.id.spGerente)
    spCalif = vista.findViewById(R.id.sp_ca)



    //RV
    adapter = porcentajeAdapter(context,califList,nCalif)
    val rvObject: RecyclerView = vista.findViewById(R.id.rv_pAsesor)

    rvObject.adapter = adapter
    rvObject.layoutManager = LinearLayoutManager(context)
    rvObject.setHasFixedSize(true)

    return vista




}

private fun initData() {
    spCalif?.let { Porcentaje(it) }?.let { califList.add(it) }

}
private fun init(ases: Int){
    for (x in 0 until ases){
        spCalif?.let { Porcentaje(it) }?.let { califList.add(it) }
    }
}

不过,它似乎不起作用。

我的微调器也在从字符串中检索数组列表。

在RV内使用微调器的任何提示吗? 你们可以看到,这是在Kotlin,但是任何帮助将不胜感激

谢谢(:

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com(将#修改为@)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?