微信APP实现对有recycleView的页面进行点击跳转设计

这篇博客详细介绍了如何在微信应用的页面中使用RecyclerView实现点击事件来跳转到其他页面。首先在XML布局文件中添加RecyclerView,然后创建item布局文件设计每个条目的样式。接着在Fragment中初始化RecyclerView,设置数据并创建自定义适配器。适配器中绑定了数据并实现了点击事件。最后展示了点击‘亚特兰大老鹰’这一项的效果。代码已上传至gitee仓库。
摘要由CSDN通过智能技术生成

微信APP实现对有recycleView的页面进行点击跳转设计

功能说明:
在上次微信界面设计的基础上,对有recycleView的页面进行点击跳转设计;
1.选择对应的xml文件,在布局中添加RecyclerView

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="8dp"/>
``
2.创建一个item.xml文件,并进行界面布局

```java
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:background="@android:color/darker_gray"
    android:layout_margin="8dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_num"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1"
        android:textSize="30sp" />

    <TextView
        android:id="@+id/tv_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="内容"
        android:textSize="30sp" />
</LinearLayout>

如图:
在这里插入图片描述
3.在Fragment文件中初始化RecyclerView

public class settingFragment extends Fragment {
    public settingFragment() {

    }
    private Context context;
    private List<String> mList = new ArrayList<>();
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view= inflater.inflate(R.layout.tab04, container, false);
        context = view.getContext();
        InitData();
        RecyclerView recyclerView = view.findViewById(R.id.recyclerview);
        RecyclerViewAdapter adapter = new RecyclerViewAdapter(context,mList);
        recyclerView.setAdapter(adapter);
        LinearLayoutManager manager = new LinearLayoutManager(context);
        manager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(manager);
        recyclerView.addItemDecoration(new DividerItemDecoration(context,LinearLayoutManager.VERTICAL ));
        return view;
    }

    private void InitData() {
        mList.add("亚特兰大老鹰");
        mList.add("夏洛特黄蜂");
        mList.add("迈阿密热火");
        mList.add("奥兰多魔术");
        mList.add("华盛顿奇才");
        mList.add("波士顿凯尔特人");
        mList.add("布鲁克林篮网");
        mList.add("纽约尼克斯");
        mList.add("费城76人");
        mList.add("多伦多猛龙");
        mList.add("芝加哥公牛");
    }

}

4.适配器Adapter设置
Adapter是用来帮助填出数据的中间桥梁,将各种数据以合适的形式显示在View中给用户看。

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.Myviewholder> {
    private List<String> mList;
    private Context context;
    public RecyclerViewAdapter(Context context,List<String> list) {
        this.mList = list;
        this.context=context;
    }



    @NonNull
    @Override
    public Myviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){
        View view=(View)LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);
        Myviewholder myviewholder=new Myviewholder((view));
        return myviewholder;
    }

    @Override
    public void onBindViewHolder(@NonNull Myviewholder holder, int position) {
        holder.tvNum.setText(position + 1 + " ");
        holder.tvContent.setText(mList.get(position));
    }

    @Override
    public int getItemCount() {
        return mList.size();
    }

    public class Myviewholder extends RecyclerView.ViewHolder{
        TextView tvNum,tvContent;
        public Myviewholder(@NonNull View itemView) {
            super(itemView);
            tvNum=itemView.findViewById((R.id.tv_num));
            tvContent=itemView.findViewById(R.id.tv_content);
        }
    }
}

结果:
在这里插入图片描述
点击亚特兰大老鹰
在这里插入图片描述

已将代码上传至代码仓库gitee

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现RecyclerView点击项目后跳转到详细页面展示,可以按照以下步骤进行: 1. 在RecyclerView的Adapter中,为每个项目添加点击事件监听器。 2. 在点击事件监听器中,获取被点击的项目的数据,比如可以通过getItem(position)方法获取对应位置的数据。 3. 将获取到的数据传递给详细页面展示的Activity,并启动该Activity。 4. 在详细页面展示的Activity中,接收传递过来的数据,并将其展示在界面上。 以下是示例代码: 在RecyclerView的Adapter中实现点击事件监听器: ```java public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { private List<Data> dataList; private Context context; public MyAdapter(List<Data> dataList, Context context) { this.dataList = dataList; this.context = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item_layout, parent, false); MyViewHolder viewHolder = new MyViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(MyViewHolder holder, final int position) { final Data data = dataList.get(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, DetailActivity.class); intent.putExtra("data", data); context.startActivity(intent); } }); // 设置数据 // ... } @Override public int getItemCount() { return dataList.size(); } } ``` 在详细页面展示的Activity中,接收传递过来的数据,并将其展示在界面上: ```java public class DetailActivity extends AppCompatActivity { private Data data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_detail); // 获取传递过来的数据 Intent intent = getIntent(); data = (Data) intent.getSerializableExtra("data"); // 将数据展示在界面上 // ... } } ``` 需要注意的是,如果要传递的数据是自定义的类对象,那么该类必须实现Serializable接口,以便能够在Intent中传递。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值