在RecyclerView中实现button的跳转功能

 更新时间:2021年10月25日 10:56:46   作者:I_wen.  
本次实验就是在RecyclerView中添加一个button控件并实现监听,使鼠标点击时可以跳转到另外一个设计好的界面,对RecyclerView实现button跳转功能感兴趣的朋友一起看看吧

一>实现功能

在实验二中我们已经实现了在类微信界面添加recyclview并添加相应的imageview,本次实验就是在recyclview中添加一个button控件并实现监听,使鼠标点击时可以跳转到另外一个设计好的界面,具体操作如下。

二>在xml中添加布局文件

首先我们要设计点击后的跳转界面,我直接采用了淘宝中的购物界面添加了一个textview,两个imageview。(以购买华为p50为例huawei.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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是华为p50购买界面"
        android:textColor="@color/purple_500"
        android:textSize="20dp"/>
    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@drawable/huaweip50tu" />
    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@drawable/huaweip50" />
</LinearLayout>

这是华为p50的购买界面

三>完善java文件

要在微信中添加button,同样不能在Mainactivity中直接添加,我选择了在weixinFragement中添加,
和添加textview和imageview类似,我采取了类似的方法进行添加,但是在其中一个问题让我很苦恼,要建立一个java类型的数组,不知道用什么型来描述它,经过一番研究,我选择了用object【】来定义它。
在onCreateview中添加代码

Object[] simple={huawei.class,pingguo.class,xiaomi.class};
for(int i=0;i< label.length;i++) {
            Map<String, Object> listitem = new HashMap<String, Object>();
            listitem.put("detail",simple[i]);
            listitem.put("name", label[i]);
            listitem.put("color", color[i]);
            listitem.put("price", price[i]);
            listitem.put("configure", config[i]);
            listitem.put("tutu", phone[i]);
            data.add(listitem);
        }

四>完善adapter文件

首先在MyViewHolder声明一个button控件,并进行绑定

Button button2;
button2=(Button) itemView.findViewById(R.id.button2);

然后在onBindViewHolder添加button2的描述

public void onBindViewHolder(@NonNull MyViewHolder holder, @SuppressLint("RecyclerView") int position) {
        holder.button2.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick (View view){
                Intent main2 = new Intent(context,(Class<?>)data.get(position).get("detail"));
                Toast.makeText(context.getApplicationContext(),"正在努力跳转 :)",Toast.LENGTH_SHORT).show();
                context.startActivity(main2);
            }
        });

和之前的textview和imageview有所不同,他的接受position写在onClick中,因为有3个position,它要找到正确的位置进行跳转。

五>完善JAVA文件

跳转不可能直接到xml文件,它同样需要java文件来承载它,并返回相应的信息,我们新建了三个java文件,huawei,pingguo和xiaomi。此处我同样以huawei为例

package com.example.mywork_lbw;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;

public class huawei extends AppCompatActivity {
    public huawei() { }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.huawei);
        Log.i("life ", "huawei is on create...");  //信息在LogCat控制台输出
        Intent intent = getIntent();
    }
}

在setContentView中我们设置了这个java文件将显示哪一个xml文件,此处当然显示的huawei.xml。

最后就是要把上面的串联起来,在微信总布局中加入button,点击实现跳转,总界面如图:

华为p50
苹果11

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

github链接:https://github.com/yikemi/ASwork_lbw
库名:ASwork_lbw

到此这篇关于在RecyclerView中实现button的跳转功能的文章就介绍到这了,更多相关RecyclerView实现button跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android中利用C++处理Bitmap对象的实现方法

    Android中利用C++处理Bitmap对象的实现方法

    下面小编就为大家带来一篇Android中利用C++处理Bitmap对象的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 自定义View之kotlin绘制折线图实例教程

    自定义View之kotlin绘制折线图实例教程

    折线图是我们在开发中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于自定义View之kotlin绘制折线图的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • 解决Android studio xml界面无法预览问题

    解决Android studio xml界面无法预览问题

    这篇文章主要介绍了解决Android studio xml界面无法预览问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android布局——Preference自定义layout的方法

    Android布局——Preference自定义layout的方法

    PreferenceActivity是一个方便设置管理的界面,但是对于界面显示来说比较单调,所以自定义布局就很有必要了,下面与大家分享下Preference中自定义layout的方法
    2013-06-06
  • Android实现Flip翻转动画效果

    Android实现Flip翻转动画效果

    这篇文章主要介绍了Android实现Flip翻转动画效果,对Android程序设计人员有很好的参考借鉴价值,需要的朋友可以参考下
    2014-08-08
  • Android开发实现文件存储功能

    Android开发实现文件存储功能

    这篇文章主要为大家详细介绍了Android开发实现文件存储功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 给大家分享一些安卓自学心得

    给大家分享一些安卓自学心得

    本文是笔者在学习安卓开发的过程中的一些经验之谈的分享,希望对大家学习安卓开发能够有所帮助。
    2015-12-12
  • Templates实战之更优雅实现自定义View构造方法详解

    Templates实战之更优雅实现自定义View构造方法详解

    本篇文章介绍如何利用Android Studio提供的Live Templates更优雅实现自定义View的构造方法,说句人话就是:简化自定义View构造参数模板代码的编写,实现自动生成,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 一文带你了解Android Flutter中Transform的使用

    一文带你了解Android Flutter中Transform的使用

    flutter的强大之处在于,可以对所有的widget进行Transform,因此可以做出非常酷炫的效果。本文就来大家了解一下Transform的具体使用,感兴趣的可以了解一下
    2023-01-01
  • Android入门之计时器Chronometer的使用教程

    Android入门之计时器Chronometer的使用教程

    Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时。本文将利用个简单的示例为大家讲解一下它的使用,感兴趣的小伙伴可以尝试一下
    2022-11-11

最新评论