当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio中添加一个Onke侦听器RecyclerView与静态编程语言?

公孙俭
2023-03-14

所以,我想有一个onclicklistener为我的回收视图在Android中,但我不知道我应该怎么做。

我有一个CustomAdapterClass用于我的Workoutlist,看起来像这样:

class CustomAdapter(val workoutList: ArrayList<workout>) : RecyclerView.Adapter<CustomAdapter.ViewHolder>() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomAdapter.ViewHolder {
    val v = LayoutInflater.from(parent.context).inflate(R.layout.list_layout, parent, false)
    return ViewHolder(v)
}

override fun onBindViewHolder(holder: CustomAdapter.ViewHolder, position: Int) {
    holder.bindItems(workoutList[position])
}

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

class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

    fun bindItems(workout: workout) {
        val cardDate = itemView.findViewById<TextView>(R.id.cardDate)
        val cardDescription  = itemView.findViewById<TextView>(R.id.cardDescription)
        cardDate.text = workout.date
        cardDescription.text = workout.description
    }
}
}

我把我的锻炼像这样推进(在我的主要活动中):

    val recyclerView = findViewById<RecyclerView>(R.id.RecyclerView)

    recyclerView.layoutManager = GridLayoutManager(this, 3)


    val workouts = ArrayList<workout>()

    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))
    workouts.add(workout("12.09.2018", "Kniebeugen und Bizeps + Rücken"))

    val adapter = CustomAdapter(workouts)

    recyclerView.adapter = adapter

我想让我的锻炼可以点击,这样我就可以使用锻炼的名称和描述来打开一个新的活动,并以此为目的。

感谢您的帮助!

我不明白他把分机放在“副本”里的地方

共有3个答案

陶裕
2023-03-14

好了,伙计们,我发现了如何在Kotlin中实现onclicklistener,下面是链接:https://gist.github.com/nesquena/231e356f372f214c4fe6

聂迪
2023-03-14

在视窗内使用它

  override fun onClick(view: View) {

    }

如果你有特定的身份证

@OnClick(R.id.id1, R.id.id2)
 fun onClick(view: View) {
        when (view.id) {

            R.id.id1 -> {}
            R.id.id2 -> {}
            else ->{}
       }
}
谢弘阔
2023-03-14

>

  • 让我们为这个用例定义一个接口:

    interface WorkoutClickLisetner{
       fun onWorkoutClicked(workout: workout)
    }
    

    WorkoutClickListener添加为CustomAdapter

    var listener : WorkoutClickListener? = null
    

    bindItem方法中注册itemView的单击侦听器

    itemView.listener = object : View.OnClickListener {
    
      override fun onClick(v: View){
        listener?.onWorkoutClicked(workout)
      }
    }
    

    不要忘记初始化您的WorkoutClickListener,当用户单击单元格时,您将在其中委托操作:

    val adapter = CustomAdapter(workouts)
    
    adapter.listener = object : WorkoutClickListener { 
        override fun onWorkoutClicked(workout: workout){  
       /*your delegation goes here*/`
     }
    }
    
    recyclerView.adapter = adapter
    

  •  类似资料:
    • 是否可以在中的class中添加一个新的静态方法?通常,由于Kotlin Extensions,这样的事情在Kotlin中是可能的。 我已经尝试在一个名为的文件中执行以下操作: 但<code>数学。无法解析同伴。。。

    • 问题内容: 我打算开发一个可在内显示一些动态数据的应用程序。所以我决定 在main中添加一个 。这是我的应用程序代码: 我的主要活动: 它是布局文件: 在这个rec​​yclerView内部还有另一个: 他们的适配器Main(RAdapter): 和第二个适配器: 我的问题是:正如您在CAdapter中看到的那样,仅显示构造函数的Log消息。 更新:如果有另一种方法可以在另一张动态卡中显示某些动态

    • 我有一个JPA(Hibernate)项目,其中包含从XML orm.XML和Beans创建的实体,我有一个EntityManager和update、persist、remove、findById、findAll方法,但我需要添加一个过滤器监听器来检查保存、还原等之前和之后的Beans(我需要将一些值设置为null以返回客户机) 问候。

    • 我想在Java中添加一个按钮侦听器,这样当用户只需按下按钮时,按钮就会被按下。 我尝试将此操作监听器添加到我创建的按钮: 这就是整个功能: 然而,当我的gui出现时,我在输入输入后按“回车”键,什么也没有发生。我必须亲自点击按钮,这正是我试图避免的! 这是我创建的窗口: 我希望用户输入一个数字,然后按enter键,然后单击按钮。帮助我做错了什么?

    • 我正在尝试为我的Kotlin RecyclerView实现一个onClickListener。它根本没有开火。代码没有标记为红色或类似的东西。你在NotesActivity中看到的日志和吐司。我们没有被处决。我的recyclerview本身就在工作,但onClickListener根本不会启动。 NotesAdapter。kt NotesActivity。kt adapter_note_layou

    • 我是一个初学静态编程语言的学生,正在学习一个示例回收人员视图。我开始编码,但没有得到我应该得到的结果,即使在检查和重新检查代码之后也是如此。然后我注意到,即使使用非常基本的代码,它仍然没有按照应有的方式运行。我将包含基本代码,当使用时,它应该显示一个通用列表。我只得到列表中的一项。我怀疑代码以外的其他东西正在影响结果;但是我还没有达到知道的水平。 请看活动内容。xml: 注意它有行。 下面是列表(