首先在holder实现点击事件时 需要创建一个userDate类(需要实现 Serializable接口)接收需要的数据
然后声明Intet 以及bundle(存放userDate) 创建的bundle用date.putSerializable()
方法存放userdate 在用 intent.putExtras(date)
存放bundle
public void bindData(FeedVideoDate feedVideoDate) {
itemView.findViewById(R.id.im_head).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UserDate userDate = new UserDate(feedVideoDate.getUserName(),
feedVideoDate.getImHead());
Intent intent = new Intent(itemView.getContext(), AdminActivity.class);
Bundle date = new Bundle();
date.putSerializable("userDate",userDate);
intent.putExtras(date);
itemView.getContext().startActivity(intent);
}
});
在activity中接收传入的数据 并set其数据
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin);
TextView userName = findViewById(R.id.tv_username);
ImageView userHead = findViewById(R.id.im_user_head);
Intent intent = getIntent();
UserDate userDate = (UserDate) intent.getSerializableExtra("userDate");
userName.setText(userDate.getUserName());
userHead.setImageResource(userDate.getUserImageHead());
}
Intent
上述跳转方法其实是用了Component属性 只是Intent提供了一个简化的构造器