在RecyclerView中选择CardView的位置,并在RecyclerView中更改片段

编程入门 行业动态 更新时间:2024-10-19 00:25:26
本文介绍了在RecyclerView中选择CardView的位置,并在RecyclerView中更改片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

*简单的部分*

此刻,我已经在RecyclerView中设置了CardView.

At the moment I have set up a CardView inside a RecyclerView.

我需要做的是将第二张卡片视图的颜色更改为黄色,而第三张卡片视图的颜色更改为红色(此刻它们均为绿色).我也希望第一张卡片视图保持绿色.

What i need to do is to change the color of the 2nd cardview to yellow, and the 3rd cardview to red (At the moment they are all green). Also i want the first cardview to remain green.

*硬部件*

每当我单击RecyclerView中的CardView之一时,我还需要能够切换到另一个片段.所以基本上是在我的RecyclerAdapter中切换片段.

What i also need, is to be able to switch to another fragment, whenever i click on one of the CardViews in the RecyclerView. So basically to switch fragments in my RecyclerAdapter.

我的RecyclerAdapter Java类如下:

My RecyclerAdapter Java class is as follows:

先谢谢!!

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerViewHolder> { Fragment fragment; private DataTabelFragment dataTabelFragment; private static String[] title = new String[]{"D42DB2", "B42DC6", "CURRENTLY NOT AVAILABLE"}; private static String[] beskrivelse = new String[]{"Temperatur & Humdity Sensorer", "Light Sensorer", ""}; @Override public RecyclerViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { System.out.println( "DU ER KOMMET SÅ LANGT HABEBEEEEEEEEE" ); View view = LayoutInflater.from( viewGroup.getContext() ).inflate( R.layout.fragment_card_view_tabel, viewGroup, false ); viewGroup.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { } } ); return new RecyclerViewHolder( view ); } @Override public void onBindViewHolder(RecyclerViewHolder recyclerViewHolder, int i) { recyclerViewHolder.mBeskrivelse.setText( beskrivelse[i] ); recyclerViewHolder.mTitle.setText( title[i] ); recyclerViewHolder.cardView.setCardBackgroundColor( Color.parseColor( "#FFCE54" ) ); //recyclerViewHolder.cardView.setCardBackgroundColor( Color.parseColor( "#FFCE54" ) ); } @Override public int getItemCount() { return title.length; } class RecyclerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { private TextView mBeskrivelse; private TextView mTitle; private CardView cardView; public RecyclerViewHolder(View itemView) { super( itemView ); mBeskrivelse = (TextView) itemView.findViewById( R.id.item_beskrivelse ); mTitle = (TextView) itemView.findViewById( R.id.item_title ); cardView = (CardView) itemView.findViewById( R.id.card_view ); itemView.setOnClickListener( this ); } @Override public void onClick(View v) { Toast.makeText( itemView.getContext(), "HEJ DU HAR TRYKKET PÅ KNAP", Toast.LENGTH_LONG ).show(); //((FragmentActivity) itemView.getContext()).getSupportFragmentManager().beginTransaction().replace( R.id.recycler_view, new DataTabelFragment() )mit(); } } }

推荐答案

对于第一部分,您可以执行与标题相同的操作.添加与此类似的数组.

For the first part, you can just do the same thing you do with the titles. Add an array similar to this.

private static String[] colors = new String[]{"#FFCE54", "#57ad48", "#c93e3c"};

然后像这样访问它.

recyclerViewHolder.cardView.setCardBackgroundColor( Color.parseColor( colors[i] ) );

您还可以像这样在onBindViewHolder中设置onClickListener.

You could also set the onClickListener inside the onBindViewHolder like this.

recyclerViewHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getActivity().getSupportFragmentManager().beginTransaction().replace( R.id.recycler_view, new DataTabelFragment() )mit(); } });

或将其作为onItemTouchListener添加到您的RecyclerView.

Or add it as an onItemTouchListener to your RecyclerView.

mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { getActivity().getSupportFragmentManager().beginTransaction().replace( R.id.recycler_view, new DataTabelFragment() )mit(); } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } });

更多推荐

在RecyclerView中选择CardView的位置,并在RecyclerView中更改片段

本文发布于:2023-10-08 01:29:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1471115.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:并在   片段   位置   RecyclerView   CardView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!