栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

在recycview中实现点击跳转设计(安卓作业二)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在recycview中实现点击跳转设计(安卓作业二)

实验目的:

(1)对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
(2)本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;

一、实现功能

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

二、设计跳转页面

本次实验主要想实现手机购买页面,所以设置一个手机购买的页面,页面添加一个textview和一个imageview(以其中一个.xml页面举例)
代码:





    

    


效果:

三、显示商品列表

我选择在首页显示跳转列表,于是我们在weixinFragment页面编写逻辑代码

代码:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view=inflater.inflate(R.layout.fragment_weixin, container, false);
        context=this.getActivity();
        recyclerView=view.findViewById(R.id.recyclerview);
        LinearLayoutManager layoutManager=new LinearLayoutManager(context);
        // Inflate the layout for this fragment
        String[] label={"型号:小米MIX4","型号:苹果13 pro Max","型号:三星Z Flip3"};
        String[] price={"价格:4799起","价格:9799起","价格:7999起"};
        String[] color={"颜色:陶瓷黑","颜色:远峰蓝","颜色:陨石海岸"};
        String[] config={"内存:128G","内存:128G","内存:128G"};
        Object[] simple={huawei.class,pingguo.class,xiaomi.class};
        int[] phone={R.drawable.xiaomi4,R.drawable.pingguotu,R.drawable.sx};
        List> data=new ArrayList>();
        for(int i=0;i< label.length;i++) {
            Map listitem = new HashMap();
            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);
        }
        myadapter=new Myadapter(data,context);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(layoutManager);//实现布局效果
        recyclerView.setAdapter(myadapter);//实现数值的对应
        return view;
    }

显示效果:

五、实现跳转操作

首先在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,点击实现跳转,总界面如图:

七、gitee仓库

gitee

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号