文章目录:
一、目标功能
对实验二的布局进行了部分改进,使效果图看起来更佳。
在实验二的基础上,对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
二、具体如何实现
-创建四个Activity.java文件和对应的xml布局文件,具体java与xml文件如下图所示:
Activity为新的跳转页面。
三、 关键代码
根据点击的位置来绑定数据
public void onBindViewHolder(MyViewHolder holder, int position) {
//根据点击位置绑定数据
final Item data = dataList.get(position);
// holder.mItemGoodsImg;
holder.mItemGoodsName.setText(data.title);
holder.mItemGoodsPrice.setText(data.content);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),ContactActivity.class);
intent.putExtra("content", data.content);
context.startActivity(intent);
}
});
}
本次实验新添加的Activity代码。
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
tools:context=".ConfigActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_config" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
本次实验新添加的content代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:gravity="center"
android:textSize="30sp" />
</LinearLayout>
四、效果展示
点击信息:
五、心得体会/要点总结:
一、点击事件
点击事件内部类中,给按钮设置事件监听,setOnClickListener()指定监听对象,实现OnClickListener接口,并实现接口中的方法。
这里的itemView代表整个内容。
二、intent的使用
Intent:来协助应用间的交互与通讯,Android则根据此Intent的描述,找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用
我这里是通过构造方法传入参数。
三、用getAdapterPosition()来获取索引下标
变量 i 遍历完整个Class数组后,整个页面的所有监听、跳转就会停
止。所以我们使用getAdapterPosition()函数来获取单个item在整个RecyclerView页面的下标索引,使得变量 i 总是可以被重新赋值,即可实现重复跳转。
本次实验我学会了界面之间的跳转,intent 是一个消息传递对象,可以用来从其他应用组件请求操作。Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),可以启动新的 Activity 来展示详情页面。