无法将数据从适配器类发送到另一个活动

时间:2021-07-09 08:03:22

标签: kotlin android-intent

当用户单击任何项​​目时,我在主页片段上显示的用户列表应该显示另一个活动,其中数据应该从上一个活动传递。我使用 putExtra 方法传递数据,但它没有发送任何数据。< /p>

下面是我的代码:

UserAdapter.kt

class UserAdapter(private val context: Context, private val userList:List<User>): RecyclerView.Adapter<UserAdapter.ViewHolder>() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): UserAdapter.ViewHolder {
  return ViewHolder(UserRowBinding.inflate(LayoutInflater.from(parent.context),parent,false))
}

override fun onBindViewHolder(holder: UserAdapter.ViewHolder, position: Int) {

    val model = userList[position]
    holder.binding.name.text = model.name
    holder.binding.city.text = model.city
    holder.binding.email.text = model.email

    holder.binding.layout.setOnClickListener {
     //   Toast.makeText(context,model.name,Toast.LENGTH_SHORT).show()
        val intent = Intent(context, DetailActivity::class.java)
        intent.putExtra(EXTRA_MESSAGE, model.name)
        context.startActivity(intent)
    }
}

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

class ViewHolder(val binding:UserRowBinding): RecyclerView.ViewHolder(binding.root)

}

DetailActivity.kt

class DetailActivity : AppCompatActivity() {

private lateinit var binding:ActivityDetailBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityDetailBinding.inflate(layoutInflater)
    setContentView(binding.root)

    val message = intent.getStringExtra("EXTRA_MESSAGE")
    Toast.makeText(this,message,Toast.LENGTH_SHORT).show()

    binding.msg.text = message

  }
}

0 个答案:

没有答案
相关问题