Articles of android recyclerview

扩充类RecyclerView时出错

所以我的代码只使用RecyclerView创建了一个CardView列表。 运行我的代码后,我一直收到一个奇怪的错误,声称我的xml中有错误。 经过修补一段时间后,我发现在我的布局文件中如果我将更改为一切都会正常工作。 为什么会这样? 我的活动。 import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.Menu; import android.view.MenuItem; import java.util.ArrayList; public class CardListActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_card_list); RecyclerView recyclerView = (RecyclerView)findViewById(R.id.cardList); recyclerView.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); ArrayList list = new ArrayList(); for(int i = 0; i […]

RecyclerView中图像的奇怪行为

我使用android.support.v7.widget.RecyclerView来显示包含文本的简单项目,在某些情况下还显示图像。 基本上我从这里按照教程https://developer.android.com/training/material/lists-cards.html ,只是将mDataset的types从String []更改为JSONArray和ViewHolder的xml。 我的RecyclerView位于一个简单的片段中: 在这个片段中,我将从Web服务器加载所有信息。 收到信息后,我初始化RecyclerView中的项目。 我使用了一个在我的片段的onCreate方法中设置的LinearLayoutManager。 添加适配器后,我在RecyclerView上调用setHasFixedSize(true)方法。 我的Adapter类看起来像这样: import android.graphics.BitmapFactory; import android.support.v7.widget.RecyclerView; import android.util.Base64; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import org.apache.commons.lang3.StringEscapeUtils; import org.json.JSONArray; import org.json.JSONObject; import saruul.julian.MyFragment; import saruul.julian.R; public class MyAdapter extends RecyclerView.Adapter { /** * Fragment holding the RecyclerView. */ […]

如何知道RecyclerView何时完成了物品的放置?

我有一个在CardView 。 CardView的高度为500dp,但如果RecyclerView较小,我想缩短此高度。 所以我想知道在RecyclerView第一次完成放置项目时是否有任何监听器被调用,从而可以将RecyclerView的高度设置为CardView的高度(如果小于500dp)。

在Recycler View的情况下,等效的listview.setSelection是什么

对于ListView,如果我们想要选择特定项目,我们使用“setSelection”方法。 如果是回收商View我们如何做到这一点

Android Horizo​​ntal RecyclerView滚动方向

我做了一个Horizo​​ntal RecyclerView,它运行正常(感谢这个 ),但滚动和数据的方向从左向右扩展; 那么如何更改RecyclerView滚动方向,如下图所示? 我的代码: StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager( 2, //The number of Columns in the grid LinearLayoutManager.HORIZONTAL);

RecyclerView滚动了UP / DOWN监听器

我们如何知道用户是否在RecyclerView向下或向上滚动? 我尝试使用RecyclerView#OnScrollListener ,它给出了垂直滚动量和滚动状态。 滚动状态空闲时,如何在开始拖动和滚动位置时获取最后一个滚动位置。 谢谢。

装饰RecyclerView(使用GridLayoutManager)以显示项目之间的分隔符

什么是装饰RecyclerView以获得这种外观和感觉的最佳和最简单的方法? 这里的主要挑战是仅在项目之间设置分隔线,而不在屏幕的项目和左/右边界之间设置分隔线。 有任何想法吗?

为RecyclerView-Item创建选项菜单

如何创建选项菜单,如下面的屏幕截图所示: 单击RecyclerView项目的“更多”-Icon后,应打开选项菜单! 我的尝试是这样的: @Override public void onBindViewHolder(Holder holder, int position) { holder.txvSongTitle.setText(sSongs[position].getTitle()); holder.txvSongInfo.setText(sSongs[position].getAlbum() + ” – ” + sSongs[position].getArtist()); holder.btnMore.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext, “More…”, Toast.LENGTH_SHORT).show(); } }); } 但这会导致问题,因为如果我触摸RecyclerView项目更多按钮,则单击完整项目… 这是我的RecyclerViewOnTouchListener: public class RecyclerViewOnTouchListener implements RecyclerView.OnItemTouchListener { private GestureDetector mGestureDetector; private OnTouchCallback mOnTouchCallback; public RecyclerViewOnTouchListener(Context context, final RecyclerView recyclerView, final […]

在RecyclerView中显示SQLite数据

我search了很多,但是我没有find关于如何在RecyclerView中显示SQLite数据的分步指南。 任何人都可以向我解释我该怎么做? 我的数据库适配器: public class DataBaseAdapter { DataBaseHelper helper; public DataBaseAdapter(Context context) { helper = new DataBaseHelper(context); } public long insertData(String name, String card, String code) { SQLiteDatabase db = helper.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(DataBaseHelper.NAME, name); contentValues.put(DataBaseHelper.CARD, card); contentValues.put(DataBaseHelper.CODE, code); long id = db.insert(DataBaseHelper.TABLE_NAME, null, contentValues); return id; } public String getData(String name){ […]

谷歌玩商店像界面使用回收视图

我的任务是创build一个类似于Google Play Store的界面。将会有一个类别名称,后跟3或4个卡片(水平),然后是更多button。 然后再下一个类别。 我已经使用垂直列表视图嵌套横排列表来实现这个了。 我知道,我可以通过使用带有水平方向的LinearLayoutManager的Recycler视图来实现此目的。 使用这个我将只有一个行。 我的问题是我如何添加第二,第三行? 我应该再次使用嵌套Recycler视图吗? 有更好的select吗?