Articles of android recyclerview

Android Robolectric点击RecyclerView项目

有没有办法模拟使用Robolectric点击RecyclerView项目? 到目前为止,我已尝试在RecyclerView的第一个可见位置获取View ,但这始终为null 。 它的getChildCount()保持返回0 ,并且findViewHolderForPosition始终为null 。 适配器从getItemCount()返回一个非0数字getItemCount()适配器中肯定有项目)。 我正在使用Robolectric 2.4 SNAPSHOT。

是否可以像在ListView中一样在回收视图中设置CursorAdapter?

到目前为止我没有谷歌解决方案来替换我的项目中的listview,因为我需要使用与sqlite链接的游标。 老方法如下: listview.setAdapter(cursorAdapter)这样,我可以得到光标来处理数据库中的数据 但是现在, recycleview.setAdapter(recycleview.adapter)它无法识别扩展BaseAdapter的适配器 所以任何人都可以帮我一臂之力?

android recyclerview不显示项目

我想在我的recyclerview中显示这些项目,但它根本没有显示,我看不到错误。 也许你们可以帮助我。 MainActivity.java RecyclerView recyclerView = (RecyclerView)findViewById(R.id.rec); List list = new ArrayList(); recyclerView.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); MenuRecAdapter menuRecAdapter = new MenuRecAdapter(list); recyclerView.setAdapter(menuRecAdapter); RecyclerView适配器: public class MenuRecAdapter extends RecyclerView.Adapter{ private List mList; Activity context; public MenuRecAdapter(List mList){ this.mList = mList; } public int getItemCount(){ return mList.size(); } public RecViewHolder onCreateViewHolder(ViewGroup viewGroup, int […]

垂直滚动列表与水平可滚动行的循环器视图

我想要一个RecyclerView,其中我们有垂直可滚动的项目列表。 从这个可滚动的项目列表中,一些应该具有在水平方向上滚动的能力。 如下图所示 任何人都可以指导我怎么做? 谢谢。

图像适配器泄漏内存

我有一个简单的ListActivity来显示图像,我在ImageAdapter类的构造函数中为Picasso Builder提供了我的OkHttpClient: picassoClient = new OkHttpClient(); picassoClient.interceptors().add(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request newRequest = chain .request() .newBuilder() .addHeader(“Cookie”,”xyz”) .build(); return chain.proceed(newRequest); } }); new Picasso.Builder(context).downloader(new OkHttpDownloader(picassoClient)).build(); 然后在getView()使用Picasso在ImageView中加载图像: Picasso.with(context).load(xyzUrl).fit().centerCrop().into(vImage); 它工作得很好,但是在设备的旋转上,我看到堆大小有时会慢慢增长,有时很快,有时会保持稳定。 它很少掉落。 我泄漏内存还是代码有问题? 编辑:我在getView()调用Picasso后插入此代码 if (BuildConfig.DEBUG) { Log.i(“HEAP SIZE”, String.valueOf((Runtime.getRuntime().totalMemory() / 1024) – (Runtime.getRuntime().freeMemory() / 1024))); } 我发现在将位图加载到ImageView之后,堆大小的增长发生在getView() 。 哪里不对? 编辑2 […]

如何从RecyclerView获取子视图?

我试图通过位置获得儿童观点。 单击一个项目时我可以查看: rvSellRecords.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { ((MainActivity) getActivity()).showSellRecordFragment(position, view); } })); 现在我无法获得子视图,没有点击 – 例如,按位置说: rvSellRecords.someMagicalMethodWhichReturnsViewByPosition(5); 问题: 如何从RecyclerView获取子视图? 编辑BOUNTY : 我有RecyclerView来显示产品列表。 当我点击它时,我正在添加新的片段,我在其中显示产品信息。 打开时我正在使用RecyclerView视图更新工具栏 – 这非常有效: rvSellRecords.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { sellPresenter.onSellRecordSelected(position, view); } })); When I click blue button […]

StaggeredGridLayoutManager和移动项目

我创建了一个非常简单的项目,通过recyclerview使用StaggeredGridLayoutManager显示28个图像。 但是当我滚动Recyclerview时,它会移动项目,例如从左向右移动或交换左右列。 代码: import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; public class MainActivity extends Activity { String mImageDir; private RecyclerView mRecyclerView; private StaggeredGridLayoutManager mLayoutManager; MyRecyclerAdapter myRecyclerAdapter; List mImageList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mRecyclerView = (RecyclerView)findViewById(R.id.recyclerview_rootview); mLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL); mLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setHasFixedSize(false); mImageList = new ArrayList(); […]

带有Recyclerview的ViewPager上的NullPointerException

我们的应用程序上有一个带有FragmentPagerAdapter的ViewPager ,它包含三个片段。 其中两个片段由每个片段的Recyclerview组成。 第一页(没有ViewPager的片段)正确显示。 但是,当ViewPager尝试预加载下一页(RecyclerView)时,应用程序崩溃是因为NullPointerException具有以下日志: java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()’ on a null object reference at android.support.v7.widget.RecyclerView.findMinMaxChildLayoutPositions(RecyclerView.java:2839) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2626) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3011) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1626) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1000) at […]

在两个RecyclerView之间拖放

是否可以在两个不同的RecyclerView之间进行拖放等function? 我在RecyclerViewfind了用于拖放的库 。 请帮我改进这个function。

在recyclerview中使用textureview播放video

我正在尝试使用像Vine或Instagram应用程序这样的video实现列表。 当列表项显示或完全可见时,他们播放video播放的位置,并且当列表项被隐藏时video暂停。 我正在使用带有媒体播放器的textureview从url播放video,并将其作为listler项目添加到recyclelerview中。 以下是我的代码。 VideosAdapter类: public class VideosAdapter extends RecyclerView.Adapter { Context context; private ArrayList urls; public static class ViewHolder extends RecyclerView.ViewHolder { public LinearLayout layout; public TextView textView; public ViewHolder(View v) { super(v); layout = (LinearLayout) v.findViewById(R.id.linearLayout); textView = (TextView) v.findViewById(R.id.textView); } } public VideosAdapter(Context context, ArrayList urls) { this.context = context; this.urls = […]