作业二:recycleView页面进行点击跳转设计
实验目的
1.对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
2、本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;
代码块及功能
设置监听,在MyAdapter中的内部类viewholder中继承父接口OnItemClickListener,
public interface OnItemClickListener{
public void onItemClick(View view,int position,List<Youth> youthList);
}
private OnItemClickListener myonItemClickListener;
public MyYouthAdapterViewHolder(@NonNull View itemView,OnItemClickListener onItemClickListener) {
super(itemView);
myImageView_pic=itemView.findViewById(R.id.imageView_pic);
myTextView=itemView.findViewById(R.id.textView_tag);
myImageView_favor=itemView.findViewById(R.id.imageView_favor);
myonItemClickListener=onItemClickListener;
itemView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
myonItemClickListener.onItemClick(view,getLayoutPosition(),myYouthList);
}
在Adapter中写好点击事件接口,在FragmentWx中实现接口:得到调用点击方法的item的position然后将对应的数据传递给下一个activity。
myAdapter = new MyAdapter(data,view.getContext(), new MyAdapter.MyItemClicklistener() {
@Override
public void onClick(int position) {
Intent intent = new Intent(getActivity(), myActivity.class);
Bundle bundle = new Bundle();
bundle.putString("title", data.get(position).getTitle());
bundle.putString("userName",data.get(position).getUsername());
bundle.putString("status",data.get(position).getStatus());
intent.putExtras(bundle);
startActivityForResult(intent,position);
获取传递数据,添加返回点击事件:点击后调用finish()方法结束activity
private void createData(){
Bundle extras = getIntent().getExtras();
String heading = extras.getString("title");
String userId = extras.getString("userName");
String userStatus = extras.getString("status");
title.setText(heading);
userName.setText(userId);
status.setText(userStatus);
backImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}