Tag: android recyclerview

如何获得在RecyclerView中select的位置?

我正在试验支持库的recyclerview和卡片。 我有一个卡的recyclerview。 每张卡片的右上angular都有一个“x”图标可以将其删除: 卡xml, list_item.xml : <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/taskDesc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:textSize="40sp" android:text="hi"/> <ImageView android:id="@+id/xImg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:src="@drawable/ic_remove"/> </RelativeLayout> </android.support.v7.widget.CardView> 我试图用我将在notifyItemRemoved(position)中的notifyItemRemoved(position)中使用的位置来标记行: public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.TaskViewHolder> { private List<Task> taskList; private TaskAdapter thisAdapter = this; // cache of views to reduce number […]

RecyclerView项目中的背景select器

我正在使用如下所示的RecyclerView : <android.support.v7.widget.RecyclerView android:id="@+id/list" android:layout_width="320dp" android:layout_height="match_parent"/> 和我的清单项目: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/selector_medium_high"> <com.basf.suvinil.crie.ui.common.widget.CircleView android:id="@+id/circle" android:layout_width="22dp" android:layout_height="22dp"/> <TextView android:id="@+id/label" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="57.5dp"/> </LinearLayout> 详细看这部分android:background="@drawable/selector_medium_high"这是一个普通的select器: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/background_high" android:state_activated="true"/> <item android:drawable="@color/background_high" android:state_pressed="true"/> <item android:drawable="@color/background_high" android:state_checked="true"/> <item android:drawable="@color/background_high" android:state_focused="true"/> <item android:drawable="@color/background_medium"/> </selector> 但是当我运行这个代码,我没有改变背景颜色当我触摸行….

RecyclerView不能调用任何Adapter方法:onCreateViewHolder,onBindViewHolder,

我的RecyclerView不会调用onCreateViewHolder onBindViewHolder,因此,在回收站视图中不会显示任何内容。 我把日志进行debugging,并没有显示日志。 可以是什么? 我的适配器: public class CommentListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private static final int EMPTY_VIEW = 10 ; private ArrayList<comment> mItems; Boolean firstTime = true; private Typeface mTf = null; Context mContext; public CommentListAdapter(Context context,ArrayList<comment> items){ Log.e("Adapter", "constructor Called"); this.mItems = items; mContext = context; } public class EmptyViewHolder extends RecyclerView.ViewHolder { public EmptyViewHolder(View itemView) […]

为什么在RecyclerView.Adapter的onBindViewHolder中添加一个OnClickListener被认为是不好的做法?

我有一个RecyclerView.Adapter类的下面的代码,它工作正常: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Viewholder> { private List<Information> items; private int itemLayout; public MyAdapter(List<Information> items, int itemLayout){ this.items = items; this.itemLayout = itemLayout; } @Override public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false); return new Viewholder(v); } @Override public void onBindViewHolder(Viewholder holder, final int position) { Information item = […]

notifyDataSetChanged不能在RecyclerView上工作

我从服务器获取数据,然后parsing并将其存储在列表中。 我使用RecyclerView的适配器的这个列表。 我正在使用片段。 我正在用KitKat使用Nexus 5。 我正在使用支持库。 这会有所作为吗? 这里是我的代码:(使用虚拟数据的问题) 成员variables: List<Business> mBusinesses = new ArrayList<Business>(); RecyclerView recyclerView; RecyclerView.LayoutManager mLayoutManager; BusinessAdapter mBusinessAdapter; 我的onCreateView() : @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Getting data from server getBusinessesDataFromServer(); View view = inflater.inflate(R.layout.fragment_business_list, container, false); recyclerView = (RecyclerView) view .findViewById(R.id.business_recycler_view); recyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(mLayoutManager); […]

如何从Android中的RecyclerView适配器中获取物品

在旧代码中,当我使用自定义适配器使用ListView时,可以使用此代码获取项目。 Message msg = (Message) adapter.getItem(poistion); 现在我正在实施RecyclerView。 我怎样才能从RecyclerView适配器获得物品?

RecyclerView不调用onCreateViewHolder或onBindView

没有得到任何错误,所有的数据似乎有效。 出于某种原因,视图相关的方法被称为。 我已经确定了以下内容: getItemCount()是唯一被调用的适配器方法,并返回一个正整数值(我知道这将是你们将要看的区域) 正在调用构造函数,成员variables是有效的。 父视图是一个垂直的LinearLayout; 没有滚动视图,或任何其他视图与他们自己的滚动属性在眼前。 包含片段视图被创build并显示在屏幕上。 这里是片段后面跟着适配器的声明。 任何帮助将不胜感激,因为这已经完全困惑。 SubMenuAdapter adapter = new SubMenuAdapter(getActivity(), mContentItems); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setAdapter(adapter); public class SubMenuAdapter extends RecyclerView.Adapter<SubMenuAdapter.ViewHolder> { private static final String TAG = String.format("==> %S", SubMenuAdapter.class.getSimpleName()); private final List<ContentItem> mContentItems; private Context mContext; public SubMenuAdapter(Context context, List<ContentItem> contenItems) { Log.d(TAG, "Constructor called"); mContentItems = contenItems; […]

CardView背景颜色始终为白色

我使用GridLayoutManager RecyclerView和我有每个项目作为CardView。 不幸的是,这里CardView似乎并没有改变它的背景颜色。 我尝试在布局和编程方面,但我已经试过似乎没有工作。 我一直在挣扎了很长时间。 我很感激有人能帮我解决这个问题。

Google地图精简版模式会在RecyclerView中引起混乱

我有一个RecyclerView这是一个项目的垂直滚动列表。 每个列表项都包含Lite模式下的Google Maps V2 MapView。 我正在利用这个新function,它返回位图,而不是一个完整的地图作为Google Static Maps API的替代品。 MapView要求您从父Activity / Fragment的相应方法调用onCreate() , onResume() , onPause() , onDestroy()等。 从RecyclerView.Adapter和/或RecyclerView.ViewHolder哪里可以调用这些地方? 我如何清理回收的MapViews,使内存不泄漏,同时保持清单免费? 谷歌说精简模式可以在列表中使用: …'精简模式'的地图选项,非常适合您想要提供一些较小的地图的情况下,或者一个非常小的地图,以至于有意义的交互是不切实际的,比如列表中的缩略图。 ListItem.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.gms.maps.MapView android:id="@+id/mapImageView" xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="100dp" map:liteMode="true" map:mapType="normal" map:cameraZoom="15"/> <!– … –> </RelativeLayout> RecyclerView.Adapter和ViewHolder public class NearbyStopsAdapter extends RecyclerView.Adapter<NearbyStopsAdapter.ViewHolder> { private final Context mContext; public class ViewHolder extends RecyclerView.ViewHolder […]

android:recyclerview中的条目

我已经使用listview与条目属性如下所示: <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:entries="@array/fi"/> 现在我将其转换为RecyclerView <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" /> 我想知道在RecyclerView是否有android:entries属性? 或者其他任何属性而不是条目?