作业二 安卓作业

一、项目要求

1、请根据课程内容实现对Activity生命周期的理解,使用log展示生命周期的状态变化

2、点击列表会跳转到详情页面

3、实现最新的activityforresult功能,具体要求如下:新建一个新的activity2,在activity1上添加按钮可收到activity2的回传值

二、项目功能展示

在初始界面的基础上,针对朋友页的列表添加了点击跳转

 

三、项目具体实现方法

完成本次项目需求需要在门户界面的基础上新建两个activity,重写tab页的adpter。
1.布局文件包含两个activity.xml文件和一个item文件
item文件是recycleView的主题,决定了列表的主题展示界面

<?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="140dp"
    android:layout_margin="8dp"
    android:background="@android:color/darker_gray">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="210dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        tools:srcCompat="@tools:sample/avatars" />

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="right"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#FABB86FC"
            android:gravity="center_horizontal"

            android:text="TextView"
            android:textSize="40sp" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#8692FC"
            android:gravity="center_horizontal"
            android:text="TextView"
            android:textSize="26sp" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#BF86B1FC"
            android:gravity="center_horizontal"

            android:text="TextView"
            android:textSize="26sp" />
    </LinearLayout>


</LinearLayout>

 

2、adpter适配器在原本的基础上加上监听事件的功能

package com.example.myapplication;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
//import android.support.v7.widget.RecycleView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

import java.util.Map;


public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {

    private View view;
    private Context context;
    private List<Map<String,Object>> data;
    private Class[] jumpActivity={friendDetail1.class,
            friendDetail2.class};

    //构造
    public MyAdapter(List<Map<String,Object>> data, Context context){
        this.data=data;
        this.context=context;
    }
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        view= LayoutInflater.from(context).inflate(R.layout.item,parent,false);
        MyViewHolder myViewHolder=new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        final Map<String,Object> content = data.get(position);
        holder.imageView.setImageResource((int)(data.get(position).get("照片")));
        holder.textView1.setText(data.get(position).get("姓名").toString());
        holder.textView2.setText(data.get(position).get("地区").toString());
        holder.textView3.setText(data.get(position).get("年龄").toString());

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(context, "你点击的是:" + content, Toast.LENGTH_SHORT).show();
            }
        });
        //设置item中的点击监听
        int i = holder.getAdapterPosition();
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(context,jumpActivity[i]);
                intent.putExtra("name", data.get(i).get("姓名").toString());
                intent.putExtra("area", data.get(i).get("地区").toString());
                intent.putExtra("age", data.get(i).get("年龄").toString());

                context.startActivity(intent);
            }
        });


    }

    @Override
    public int getItemCount() {
        return data.size();
    }



    public class MyViewHolder extends RecyclerView.ViewHolder {
        ImageView imageView;
        TextView textView1,textView2,textView3;
        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            imageView=itemView.findViewById(R.id.imageView);
            textView1=itemView.findViewById(R.id.textView1);
            textView2=itemView.findViewById(R.id.textView2);
            textView3=itemView.findViewById(R.id.textView3);
        }
    }
}

 4源码地址

Android: 青春摆子们一定会梦到兔女郎学姐!!!! (gitee.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值