作业二:recycleView页面进行点击跳转设计

作业二: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();

        }
    });
}

GitHub代码库

GitHub


版权声明:本文为RRros原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。