如何在android中使用切换按钮实现Serializable?

Posted

技术标签:

【中文标题】如何在android中使用切换按钮实现Serializable?【英文标题】:How to implement Serializable using toggle button in android? 【发布时间】:2017-10-20 13:30:16 【问题描述】:

我在 cardView 中创建了一个切换按钮,当按下切换按钮时,它应该将 cardItem 复制到另一个片段。我已经为 toggleButton 做了这个:

 holder.favButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
            @Override
            public void onCheckedChanged(CompoundButton favButton, boolean isChecked)
                if (isChecked)
                    favButton.setBackgroundDrawable(ContextCompat.getDrawable(favButton.getContext(),R.mipmap.ic_launcher));
                Intent intent = new Intent(context,FavouriteFragment.class);
                Bundle bundle = new Bundle();
                bundle.putSerializable("DATA", (Serializable) cardItems);
                intent.putExtras(bundle);
                context.startActivity(intent);

            
        );

这就是我要检索我输入的值的地方。

private void initializeCardItemList()
        CardItemModel cardItemModel;
        String[] cardTitles = getResources().getStringArray(R.array.fav_cards);
        String[] cardContents = getResources().getStringArray(R.array.fav_cards_content);
        final int length = cardTitles.length;
        for(int i=0;i<length;i++)
            cardItemModel = new CardItemModel(cardTitles[i],cardContents[i]);
            cardItems.add(cardItemModel);
        
     

我应该用什么替换它来初始化cardItems? (* 只显示按下了togle按钮的卡片)

【问题讨论】:

【参考方案1】:

你想知道如何通过 Intent 将 Serializable 数据传递给另一个 Fragment 吗? 如果是这样,它会帮助你 Passing data through intent using Serializable

如果没有,请详细告诉我。谢谢。

【讨论】:

我已经检查过了。我想知道如何初始化卡片项目。 您的意思是如何在您将数据发送到的“另一个片段”中初始化卡片项目?我认为它不需要在另一个片段中初始化卡片项目,只需要编写 Intent intent = this.getIntent();捆绑包 = intent.getExtras(); List cardItems = (List)bundle.getSerializable("DATA");.

以上是关于如何在android中使用切换按钮实现Serializable?的主要内容,如果未能解决你的问题,请参考以下文章

Android 切换按钮 - 材料设计

android 一个Dialog中多页面切换,如何实现?

Android如何使用工具栏中的按钮切换以使用片段打开/关闭导航抽屉

如何在android中更改切换按钮颜色

如何在android中显示密码开/关模式的切换按钮

android实现点击按钮切换页面