开发者社区> 问答> 正文

单击“查看全部”按钮后如何显示RecyclerView项目

我是android的初学者。我正在创建一个应用程序,其中数据将通过recyclerview显示,但是我希望在recyclerview中仅显示某些项目。

但是,当用户单击“查看全部”按钮时,则仅应显示整个项目。谁能告诉我该怎么做?

viewtext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getContext(), AppviewActivity.class);
            intent.putExtra("mylist","newmodel");
            getContext().startActivity(intent);
        }
    });

DetailsActivity.java

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_appview);
    ArrayList<String> mylist = (ArrayList<String>) getIntent().getSerializableExtra("mylist");

}

NewModel类

public class NewModel  {
Drawable sociallogo;
String socailtext;
String href;
public NewModel(Drawable sociallogo, String socailtext, String href){
    this.sociallogo = sociallogo;
    this.socailtext= socailtext;
    this.href = href;

}
public Drawable getSociallogo(){
    return sociallogo;
}
public String getSocailtext(){
    return socailtext;
}
public String getHref(){
    return href;
}

问题来源:Stack Overflow

展开
收起
montos 2020-03-27 14:30:00 582 0
1 条回答
写回答
取消 提交回答
  • getItemCount 方法工作受限。

    如果您绑定以下代码,则它显示的数据有限。

    private final int limit = 10;
    
    
     @Override
    public int getItemCount() {
        if(arrayList.size() > limit){
            return limit;
        }
    }
    

    当单击“查看全部”按钮时,然后重定向到新活动并在recyclerview适配器中绑定数据:

    如果您绑定以下代码,那么它将显示“所有数据”。

    @Override
        public int getItemCount() {
            if(arrayList.size() > limit){
                return ad_list.size();
            }
        }
    

    像下面的代码一样实现模型类:

    public class NewModel implements Serializable {
    现在,使用以下代码传递数据:
    
    viewtext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getContext(), AppviewActivity.class);
                intent.putExtra("mylist", newmodel);
                getContext().startActivity(intent);
            }
        });
    

    在新活动中获取数据,例如:

    Bundle bundle = getIntent().getExtras();
            if (bundle != null) {
    ArrayList<NewModel> mylist = (ArrayList<NewModel>) bundle.getSerializable("mylist");
            }  
    

    回答来源:Stack Overflow

    2020-03-27 14:30:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载