在之前的基础上,对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
整体思路:
主要思路为:先创建并注册好待调用的activity,然后在myadapter.java文件中对recyclerview的item创建监听。然后通过点击item的position跳转到相应的activity。
细节功能函数:
首先创建并在AndroidManifest里面注册activity:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.a2021_10_08">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.2021_10_08">
<activity
android:name=".MainActivity3"
android:exported="true"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="lyr.study.testActivity3" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity2"
android:exported="true"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="lyr.study.testActivity2" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
对item设置监听,然后利用switch语句,通过点击返回的position来进入不同的activity。
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.textView1.setText(data.get(position));
itemView.setOnClickListener(view -> {
switch (position){
case 0:
Intent intent = new Intent("lyr.study.testActivity2");
view.getContext().startActivity(intent);
break;
case 1:
intent = new Intent("lyr.study.testActivity3");
view.getContext().startActivity(intent);
break;
default:
break;
}
});
效果展示:
运行之后的界面:
点击第一行,进入activity2:
点击第二行,进入activity3: