Tag: android recyclerview

错误膨胀类和android.support.v7.widget.CardView

我想在我的项目中使用CardView,但是当我运行我的应用程序时,出现以下错误。 我正在使用Eclipse 。 Error: Error inflating class and android.support.v7.widget.CardView The graphical view of my xml file says 'The following classes could not be instantiated: – android.support.v7.widget.CardView (Open Class, Show Error Log) See the Error Log (Window > Show View) for more details.' 请帮忙。 这是我使用CardView片段的布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.log.MyContactsFragment" > <!– TODO: Update blank […]

使用SpanSizeLookup在GridLayoutManager中设置项目的范围

我想用节标题来实现网格状的布局。 想想https://github.com/TonicArtos/StickyGridHeaders 我现在应该做什么: mRecyclerView = (RecyclerView) view.findViewById(R.id.grid); mLayoutManager = new GridLayoutManager(getActivity(), 2); mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { switch(mAdapter.getItemViewType(position)){ case MyAdapter.TYPE_HEADER: return 1; case MyAdapter.TYPE_ITEM: return 2; default: return -1; } } }); mRecyclerView.setLayoutManager(mLayoutManager); 现在,常规项目和标题的跨度大小都是1.我该如何解决这个问题?

如何在onclick上打开recyclerView项目上的不同活动

我正在使用recyclerView来显示我的listitems在navigation drawer 。我已经实现了onclickListener但我一直坚持如何打开不同的activity当项目被clicked 。 我所有的项目都是按照代码的方式来显示一个toast的item position 。 我将不胜感激的帮助。 AdapterClass.java public class AdapterClass extends RecyclerView.Adapter<AdapterClass.MyViewHolder> { private LayoutInflater inflater; private Context context; List<Information>data= Collections.emptyList(); public AdapterClass(Context context,List<Information>data){ this.context=context; inflater= LayoutInflater.from(context); this.data=data; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= inflater.inflate(R.layout.custom_row,parent,false); MyViewHolder holder=new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) […]

RecyclerView中的CheckBox继续检查不同的项目

这是RecyclerView中的项目的XML <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/cvItems" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_margin="2dp" card_view:cardElevation="0dp" card_view:contentPadding="0dp" card_view:cardBackgroundColor="#FFFFFF" > <LinearLayout android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent"> <TextView android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="0.8" android:id="@+id/tvContent" android:textSize="15dp" android:paddingLeft="5dp" android:paddingRight="5dp" /> <CheckBox android:id="@+id/cbSelect" android:layout_width="0dip" android:layout_weight="0.2" android:layout_height="match_parent" android:button="@drawable/cb_checked" android:gravity="center_horizontal" android:textAlignment="center" android:layout_gravity="center_horizontal" /> </LinearLayout> </android.support.v7.widget.CardView> 这里是RecyclerView适配器,它扩大了上面的每个项目的布局: public class AdapterTrashIncome extends RecyclerView.Adapter<AdapterTrashIncome.ViewHolder> { private ArrayList<ObjectIncome> myItems = new ArrayList<>(); public AdapterTrashIncome(ArrayList<ObjectIncome> getItems, Context context){ […]

获得点击项目及其在RecyclerView中的位置

我用RecyclerViewreplace我的ListView ,列表显示好,但我想知道如何获得点击项目和它的位置,类似于我们使用的方法OnItemClickListener.onItemClick(AdapterView parent, View v, int position, long id) ListView 。 感谢您的想法!

RecyclerView中的单选

我知道recyclerview类中没有缺省的select方法,但是我尝试了以下方法, public void onBindViewHolder(ViewHolder holder, final int position) { holder.mTextView.setText(fonts.get(position).getName()); holder.checkBox.setChecked(fonts.get(position).isSelected()); holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for (int i = 0; i < fonts.size(); i++) { fonts.get(i).setSelected(false); } fonts.get(position).setSelected(isChecked); } } }); } 在尝试这些代码时,我得到了预期的输出,但是完全没有。 我会用图像来解释你。 默认情况下,第一个项目是从我的适配器中select的 然后我试图select第二,然后第三,然后第四,最后第五, 这里只有第五个select,但是所有五个都被选中了。 如果我将列表滚动到底部并再次返回顶部, 我得到了我的预期, 我怎样才能克服这个问题? 有些时候如果我滚动列表非常快一些其他项目被选中。 如何克服这个问题呢? 更新 虽然我试图使用notifyDataSetChanged()后fonts.get(position).setSelected(isChecked); 我有以下例外, java.lang.IllegalStateException: […]

使用RecyclerView和GridLayoutManager的简单的Android网格示例(如旧的GridView)

我知道RecyclerView已经replace了旧的ListView和GridView 。 我正在寻找一个非常基本的例子,显示使用RecyclerView最小的网格设置。 我不是在寻找长时间的教程风格的解释,只是一个简单的例子。 我想象模仿旧的GridView最简单的网格将包括以下function: 每行多个单元格 每个单元格中的单个视图 响应点击事件

滑动以closuresRecyclerView

我曾经SwipeToDismiss库,但现在我试图迁移到RecyclerView,事情并不那么明显,你知道这个库的任何替代? 任何想法如何从零开始实施它?

滚动RecyclerView在上方显示选定的项目

我正在寻找一种滚动RecyclerView来显示顶部的选定项目。 在ListView我可以通过使用scrollTo(x,y)并获取需要居中的元素的顶部。 就像是: @Override public void onItemClick(View v, int pos){ mylistView.scrollTo(0, v.getTop()); } 问题是RecyclerView在使用scrollTo方法时会返回一个错误 RecyclerView不支持滚动到绝对位置 我怎样才能滚动一个RecyclerView把选定的项目在视图的顶部?

如何在RealmRecyclerViewAdapter中实现可过滤

我正在使用RealmRecyclerViewAdapter。 我的问题是实施一个Filterable 。 这是代码: private class AirportAdapter extends RealmRecyclerViewAdapter<AirportR,RecyclerView.ViewHolder> implements Filterable { Context context; OrderedRealmCollection<AirportR>listAirports; public AirportAdapter(Context activity, OrderedRealmCollection<AirportR>airports) { super(activity,airports, true); this.context = activity; this.listAirports = airports; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.airport_show, parent,false); AirportClass holder = new AirportClass(view); return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, […]