Articles of android recyclerview

RecyclerView android:获取特定位置的项目

有没有办法在适配器外的特定位置获取RecyclerView的项目。 例如在ListView中我们可以这样做: listView.getItem(position); 我们可以用RecyclerView做到这一点吗? 并且还保持提供的数据列表的顺序?

onclicklistener关于android中的recyclerview的具体项目

我将问一个非常基本的问题,但我长期陷入其中。 卡片视图后面有一个循环视图,每行有2个图像。 现在我想在图像而不是recycleview上创建点击监听器。 此活动的相应布局(layout_main.xml)(MainActivity.java)仅包含recyclerview。 每行的元素都在另一个布局中(layout_images.xml)。 我从layout_images.xml获取图像并在适配器类(Adapter.java)中膨胀它们。 现在如何只将动作监听器放在图像上。 其次,我想得到我点击的图像。 怎么做到这一点。 比如,当我们点击一​​个视图时,我们创建了一些方法 public void onClick(View view){ // some code here } 其中view是我们点击的对象。 在我的情况下如何获取我点击的图像。 使用types转换,当用户不点击图像时,它可能会抛出exception。

Kotlin一个types参数,用于抽象通用视图持有者的类

我正在尝试使用以下内容创建RecyclerView.Adapter: 查看持有人 – 提供抽象父母和一个儿子 abstract class BaseSettingsViewHolder(var viewDataBinding : ViewDataBinding) : RecyclerView.ViewHolder(viewDataBinding.root) { abstract fun onBind(data: T, presenter: ISettingsPresenter, position: Int) } class SettingsTitleViewHolder(viewDataBinding: ViewDataBinding) : BaseSettingsViewHolder(viewDataBinding) { override fun onBind(data: TitleData, presenter: ISettingsPresenter, position: Int) { viewDataBinding.setVariable(BR.titleData, data) viewDataBinding.setVariable(BR.itemPosition, position) viewDataBinding.setVariable(BR.settingsPresenter, presenter) viewDataBinding.executePendingBindings() } } 并在尝试声明适配器时: class SettingsAdapter(var context: Context, var presenter: ISettingsPresenter) : […]

在片段中实现RecyclerView

我试图在AppCompatActivity中的ViewPager中的片段中创建ListView。 在AppCompatActivity中,所有视图元素都在CoordinatorLayout中。 因为我使用了CoordinatorLayout。 我必须使用RecylerView我试图遵循developer.android.com的培训,但我的应用程序在我的日志后停止。 这是我在myFragment中停止应用程序的代码。 import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; //… @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_city_list, container, false) mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list); mLayoutManager = new LinearLayoutManager(this.getActivity()); Log.d(“debugMode”, “The application stopped after this”); mRecyclerView.setLayoutManager(mLayoutManager); mAdapter […]

在向下滚动时,recyclelerview内部的嵌套scrollview不会触发onscrolllistener

编辑 : 我从webservice加载了200多个数据。当我向下滚动recyclerview时,它不会触发scrollLisener。 因为,如果我没有使用dy> 0条件,它将加载所有接下来的20个数据,20个数据,依此类推,最初是在进行此活动时。 下面我发布了与此相关的代码。 logcat的: E/dy: 0 活动代码: recyclerView = (RecyclerView) findViewById(R.id.rv_list_tab_home_recycler); recyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(mLayoutManager); //homePostitemsAdapter = new UserPostAdapter(TabHomeActivity.this, homePostItemsList); homePostitemsAdapter = new TabHomeAdapter(homePostItemsList, recyclerView); // recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setAdapter(homePostitemsAdapter); recyclerView.setNestedScrollingEnabled(false); 适配器代码: private int visibleThreshold = 5; private int lastVisibleItem, totalItemCount; private boolean loading; private OnLoadMoreListener onLoadMoreListener; public TabHomeAdapter(List objects, RecyclerView […]

RecyclerView与字母索引

我正在尝试构建一个RecyclerView列表,右侧有一个按字母顺序排列的索引器。 我有完美的列表显示并能够滚动。 我想知道是否有人可以给我一些建立字母索引器的指导。 我相信我需要遍历我的列表并确定使用的字母(我可以这样做)。 然后构建字母列表(对于索引器),然后使用scrollToPosition(int position)在选择字母时移动到列表中的右项。 我无法解决的主要问题是没有建立另一个列表,而是两个列表之间的通信。 任何帮助将不胜感激。

删除RecyclerView- Android中的项目

我遇到问题,我无法删除RecyclerView中的项目。 我正在尝试在互联网上搜索,但看不到任何解决方案我跟随这篇文章Android RecyclerView添加和删除项目但我仍然无法删除所选项目下面是我的适配器和fragement的代码 RecyclerViewAdapter.java public class RecyclerViewAdapter extends RecyclerView.Adapter { List contents2; Context mContext; ImageLoader imageLoader; static final int TYPE_HEADER = 0; static final int TYPE_CELL = 1; public RecyclerViewAdapter(List contents) { this.contents2 = contents; } public RecyclerViewAdapter(Context context, List contents) { mContext = context; this.contents2 = contents; imageLoader = new ImageLoader(context); } @Override public […]

RecyclerView IndexOutOfBoundsException

当我使用循环删除RecyclerView的某些项目时,为什么要执行exception? 我在适配器中使用了Collentions.synchronizedMap ,而’deleteItem方法’也使用了synchronized(片段中的方法)。 public void elementController(JsonObject jsonObject , String type) { if ( jsonObject == null || type == null ) { return; } int position =0 , resultPosition =0; if ( type.equals(“update”) || type.equals(“delete”)) { String id = jsonObject.get(ELEMENT_ID).getAsString(); Map map = gridFragment.getMap(); synchronized (map) { for (String s : map.keySet()) { if (s.equals(id)) […]

RecyclerView行为 – 打开/关闭键盘时变为空

我已经使用SearchView和Filterable实现了RecyclerView ; 来自v7所有课程。 现在有这种行为很烦人。 无论何时启动或关闭键盘, RecyclerView的内容都会变为空白。 计数仍然正确,但视图为空。 我的猜测,它与Layout大小的变化有关。 这种行为是正常还是出了什么问题? 怎么处理呢? 我可以显示代码,但不太清楚哪个部分是相关的,所以告诉我在这里可以添加什么?

使用JsonArray vs ArrayList作为RecyclerView Adapter的数据集

我已经使用ArrayList和JsonArray作为适配器中的数据集。 我发现的一个主要区别是适配器中本地数据的数据集更改未反映在JsonArray的调用类中。 我想知道哪一个更好,我的观察是正确的。 此外,如果我的数据集涉及从Web服务中提取数据(这给我提供Json表单数据),那么我将其更改为ArrayList 会更好。