安卓第二次实验作业———点击跳转设计
实验要求:
1.对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
2、本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;
文章目录
一.设计recycleView界面的内容。
二.创建四个Activity和它们对应的布局文件
三.设计对应的四个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);
}
}
六.效果展示:
点击对应的list后展示的效果:
七.代码地址:
https://gitee.com/shijia0526/demo-adapter