Articles of android recyclerview

SwipeRefreshLayout片段创建时没有animation

我正在使用android.support.v4.widget.SwipeRefreshLayout和android.support.v7.widget.RecyclerView 。 在片段视图创建时,我需要显示SwipeRefreshLayoutanimation。 但是,当我调用setRefreshing(true)没有任何反应。 但是当我刷新数据animation的变化时。 我想在没有SwipeRefreshLayout内的子项时animation没有显示。 如何以最佳方式显示此animation?

app:stackFromEnd for RecyclerView无法在xml中运行?

我有一个RecyclerView定义为: 相关代码也常用于: LinearLayoutManager layoutManager = new LinearLayoutManager(this); //layoutManager.setStackFromEnd(true); mRecyclerView.setLayoutManager(layoutManager); 但是当我添加一个项目RecyclerView ,它不尊重app:stackFromEnd=”true” 。 另一方面,如果我取消注释并使用layoutManager.setStackFromEnd(true); 以编程方式,它工作正常。 我错过了什么问题? 欢迎任何想法。

Recyclerview addOnItemTouchListener获取在行内单击的子视图

我已经从这个Stack溢出解决方案中实现了Recyclerview onclickListener。 此解决方案适用于回收商品点击。 但我无法从行中单击哪个子视图(例如:ImageView,Button)。 mAttachmentRecyclerview.addOnItemTouchListener( new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { if (view.getId()==R.id.attachmnet_remove) { attachmentsList.remove(position); mAttachmentAdapter.notifyDataSetChanged(); attachmentCount–; } } } )); onItemClick(view,position)始终将视图id返回为-1 如何跟踪点击的视图?

在recyclerview中对触摸没有连锁反应

我有一个带有四个网格元素(2 * 2)的recyclerview,就像菜单一样。 但是,当我点击它们时,没有显示涟漪效果。 它只是带我到下一个活动,没有任何视觉确认按下视图。 有人可以帮忙吗? 主要活动 public class MainActivity extends AppCompatActivity implements MainMenuAdapter.OnItemClickListener { Toolbar toolbar; private static List tileItems = new ArrayList(); static { tileItems.add(new ViewModel(“Activity”, “#3F51B5”, R.drawable.activity)); tileItems.add(new ViewModel(“Profile”, “#E91E63”, R.drawable.profile)); tileItems.add(new ViewModel(“Training”, “#FF5722”, R.drawable.training)); tileItems.add(new ViewModel(“Diet”, “#4CAF50”, R.drawable.diet)); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final RecyclerView recyclerView = […]

RecyclerView中的onBindView上的setAlpha()在第一次显示时不起作用

在RecyclerView.Adapter中使用以下代码: onBindViewHolder(VH holder, int position){ holder.itemView.setAlpha(0.5f); } 第一次显示该项目时不会显示Alpha。 但是,如果您离开屏幕并返回,则会准确显示Alpha。 正在设置该值,但在再次显示之前不会显示该值。 有关如何让setAlpha()在首次查看时生效的任何想法。

如何设计Gridview像监护人的应用程序

我正在尝试制作像监护人应用程序的布局。 我知道什么是gridview以及如何设计它并用数据等来扩充它。 我想要设计什么? 这种布局包含图像而不是图像的项目,并且还有延迟加载。 我面临的问题是什么? 1-Confused应该和我一起去看看。 GridView,ListView或RecyclerView。 2 – 如果我使用GridView,那么如何为某些项目设置不同的项目布局。 我试过了什么? 我尝试使用线性布局作为单独的xml然后我在运行时将xml添加到根布局。 它有点工作,但问题上升,当我需要添加clicklistener来显示相关的post,因为将有超过100多个post数据。 如果有人引导我朝着正确的方向前进,那会很有帮助。 谢谢! 编辑。 经过这里的答案后。 我用这种方法。 我习惯了xml。 然后我用适配器中的getViewType更改布局,但是没有给出这样的结果。 我仍在寻找更有说服力的解决方案。 这是我累了的代码。 public class RecyclerAdapter extends RecyclerView.Adapter{ MainDTO mainDTO; public RecyclerAdapter(MainDTO mainDTO){ this.mainDTO=mainDTO; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view; ViewHolder viewHolder; switch (viewType){ case 0: view= LayoutInflater.from(parent.getContext()).inflate(R.layout.header,parent,false); viewHolder=new ViewHolder(view,viewType); return […]

如何在处理它们时从RecyclerView的ViewHolders中删除OnClickListeners?

我在我的应用程序项目中使用RecyclerViews并使用他们的ViewHolders设置OnClickListeners(在他们的构造函数中,如StackOverflow Q&A中提到的 )。 然后我有这个问题: 如何处理它们时从RecyclerView的ViewHolders中删除OnClickListeners。 通常,我们可以通过这样做删除OnClickListener: view.setOnClickListener(null); 如果它是ViewPager的PagerAdapter,我们可以在destroyItem方法中这样做。 @Override public void destroyItem(ViewGroup container, int position, Object object) { View view = container.findViewById(R.id.viewId); view.setOnClickListener(null); } 我在哪里可以使用RecyclerView? – 或者,我不需要这样做?

带有进度指示器和animation的Android RecyclerView

在Material Design指南中,有一种模式可以一次加载和显示所有内容。 链接 如何使用RecyclerView实现它?

如果视图计数很小,RecyclerView不会回收视图

我一直在处理Recycler View中的奇怪行为,如果适配器中的视图计数很小,在我的情况下大小为5,视图没有被回收,并且当视图滚动回屏幕时不会调用onBindViewHolder。 例如,如果我将大小增加到10个视图,则每次视图进入屏幕时,回收开始工作并调用onBindViewHolder。 XML Recycler视图初始化 LinearLayoutManager llm = new LinearLayoutManager(getActivity()); llm.setOrientation(LinearLayoutManager.VERTICAL); eventsList.setLayoutManager(llm); //Sets endless listener scrollListener = new EndlessRecyclerOnScrollListener(llm,3,mLastDownloadedPage) { @Override public void onLoadMore(int current_page) { Timber.d(“Loading date for page: ” + current_page); mLastDownloadedPage = current_page; //If it’s showing cached don’t download if(showingCached) return; //Shows snackbar loading view showSnackbarLoadingView(); //Gets events getEvents(false); } }; //eventsList.addOnScrollListener(scrollListener); […]

被选中状态覆盖的Android Ripple效果

在寻找一段时间之后,我无法find答案…… 我有一个带有物品的回收者视图,当选择这些物品时,它们具有红色背景和白色文本(事先背景为白色,文本为黑色)。 为此,我使用选择器。 我最近试图为此添加一个涟漪效果,但除非我长时间点击该项目,项目的背景将直接变为红色而没有波纹。 我假设这是因为选择器状态state_selected覆盖了sate_pressed上的纹波? 有谁知道有没有办法解决这个问题? 这是我使用的选择器代码: 提前致谢!