Android Studio第二次作业:recycleView页面的跳转设计

目录

实现过程

一、添加必要的页面

二、在myadapter中添加点击监听

三、在MainActivity.Java中添加生命周期

结果展示

 结语

源码地址


本次作业的目标为:在实验二(在类微信界面添加设计recycleView)的基础上,对有recycleView的页面进行点击跳转设计,本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作。

实现过程

一、添加必要的页面

在之前的实验二中已经完成了微信聊天界面和好友界面recycleView的添加与设计,本次我选择了对于聊天界面跳转到详情的功能实现。如果要实现跳转的话还需要设计跳转后的页面,因此需要添加一个新的MainActivity.Java和Main_Activity.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=".MainActivity2">
    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/white"
        android:gravity="center"
        android:text="朋友"
        android:textColor="@color/black"
        android:textSize="30dp" />
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </FrameLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal">
        <EditText
            android:id="@+id/editTextTextMultiLine"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="10"
            android:ems="20"
            android:gravity="start|top"
            android:inputType="textMultiLine"
            android:text="消息栏" />
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="发送" />
    </LinearLayout>
</LinearLayout>

二、在myadapter中添加点击监听

在适配器MyAdapter.java中的onBindViewHolder方法中添加点击监听,并使得监听指向新创建的MainActivity.Java。

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder2 holder, int position) {
        holder.name.setText(items2.get(position).get("User").toString());
        holder.message.setText(items2.get(position).get("Message").toString());
        holder.imageView.setImageResource(Integer.parseInt(items2.get(position).get("Picture").toString()));
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                    Intent intent = new Intent(context, MainActivity2.class);
                    context.startActivity(intent);
            }
        });
    }

三、在MainActivity.Java中添加生命周期

public class MainActivity2 extends AppCompatActivity {
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Log.d("life","activity2 is onCreate...");
    }
    @Override
    protected void onStart() {
        super.onStart();
        Log.d("life", "activity2 is onStart...");
    }
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d("life", "activity2 is onRestart...");
    }
    @Override
    protected void onPostResume() {
        super.onPostResume();
        Log.d("life", "activity2 is onPostResume...");
    }
    @Override
    protected void onPause() {
        super.onPause();
        Log.d("life", "activity2 is onPuse...");
    }
    @Override
    protected void onStop() {
        super.onStop();
        Log.d("life", "activity2 is onStop...");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("life", "activity2 is onDestroy...");
    }

}

结果展示

 结语

本次作业目的实现过程较为简单,但是让我对于recycleView更加熟悉,同时也理解了生命周期的变化过程。

源码地址

源码地址:Android Studio: android studio - Gitee.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值