当用户单击任何项目时,我在主页片段上显示的用户列表应该显示另一个活动,其中数据应该从上一个活动传递。我使用 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
}
}