RecycleView页面进行点击跳转设计

安卓第二次实验作业———点击跳转设计

实验要求:
1.对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
2、本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;

文章目录

一.设计recycleView界面的内容。

RecycleView页面进行点击跳转设计

二.创建四个Activity和它们对应的布局文件

RecycleView页面进行点击跳转设计
RecycleView页面进行点击跳转设计

三.设计对应的四个xml文件。

activity_1.xml的文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Activity1">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp">

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="190dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            app:srcCompat="@drawable/_1" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="200dp"
            android:layout_weight="1"
            android:gravity="center"
            android:text="EDG"
            android:textColor="@color/purple_200"
            android:textSize="40sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="350dp"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView8"
            android:layout_width="match_parent"
            android:layout_height="533dp"
            android:layout_weight="0.5"
            android:gravity="center"
            android:text="EDWARD GAMING(简称:EDG)电子竞技俱乐部于2013年9月13日正式成立,旗下拥有多个分部,
            是国内最具实力的综合性电子竞技俱乐部之一。在英雄联盟职业联赛(LPL)中,EDG共五次获得联赛冠军,
            是目前唯一一支斩获三连冠的队伍;德玛西亚杯中EDG斩获六次冠军奖杯,有着“六冠王”的美誉;
            2015年EDG夺得第一届英雄联盟季中冠军赛(MSI)的总冠军;连续五年代表LPL征战LOL全球总决赛。2021赛季,
            EDG英雄联盟分部组建全新强力阵容,传奇选手明凯Clearlove重回选手阵容,将向英雄联盟新的荣耀发起冲击!"
            android:textColor="@color/design_default_color_primary"
            android:textSize="27sp" />
    </LinearLayout>

</LinearLayout>

四.设置对应的适配器MyAdapter

package com.example.mywork;

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class weixinFragment extends Fragment {

    private RecyclerView recyclerView;
    private MyAdapter myAdapter;
    private List<Map<String,Object>> data;
    private Context context;

    public weixinFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.weixin, container, false);
        context=this.getActivity();
        recyclerView=view.findViewById(R.id.RecycleView);

        data=new ArrayList<Map<String,Object>>();
        String[] name = {"LPL战队", "LPL战队", "LPL战队", "LPL战队"};
        String[] num={"EDG", "IG" , "FPX", "LNG"};
        int[] picture = {R.drawable._1,R.drawable._2,R.drawable._3,R.drawable._4};

        for (int i=0;i< name.length;i++) {
            Map<String,Object> map=new HashMap<String,Object>();
            map.put("照片", picture[i]);
            map.put("lpl",name[i]);
            map.put("战队名",num[i]);
            data.add(map);
        }

        myAdapter=new MyAdapter(data,context);
        LinearLayoutManager manager=new LinearLayoutManager(context);
        manager.setOrientation(RecyclerView.VERTICAL);
        recyclerView.setLayoutManager(manager);
        recyclerView.setAdapter(myAdapter);

        return view;
    }

}

五.MyAdapter.java文件中设置每个item的点击监听事件在onBindViewHolder方法中设置绑定每个item的点击监听

如Activity1.java的文件如下:

package com.example.mywork;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class Activity1 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_1);
    }
}

六.效果展示:

RecycleView页面进行点击跳转设计

点击对应的list后展示的效果:
RecycleView页面进行点击跳转设计

七.代码地址:

https://gitee.com/shijia0526/demo-adapter

上一篇:Android 关于RecycleView瀑布流item换位


下一篇:RecycleView布局中接口的使用