存储所有已检查的响应以自动启动应用程序上的这些选中项目

时间:2016-12-15 06:19:26

标签: android

我制作了导航抽屉,并在抽屉物品中使用 recyclerView 作为 checkBoxes 。 现在,我希望所有在关闭之前 检查 的复选框检查 onCreate 强大的导航抽屉。

以下是我的适配器类,请参阅:

class NavigationDrawerAdapter extends RecyclerView.Adapter<NavigationDrawerAdapter.MyViewHolder> {

    List<NavDrawerItem> data = Collections.emptyList();
    private LayoutInflater inflater;
    private Context context;
    private int selected_position = -1;
    private static String sel=null;



    NavigationDrawerAdapter(Context context, List<NavDrawerItem> data) {
        this.context = context;
        inflater = LayoutInflater.from(context);
        this.data = data;
    }

    public void delete(int position) {
        data.remove(position);
        notifyItemRemoved(position);
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = inflater.inflate(R.layout.nav_drawer_row, parent, false);

        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(final MyViewHolder holder, int position) {


        final NavDrawerItem current = data.get(holder.getAdapterPosition());



        holder.title.setText(current.getTitle());
        holder.title.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            public boolean isChecked(){
                if(holder.title.isChecked()){
                    return true;
                }
                else {
                    return false;
                }
            }

            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

                if(isChecked()){
                    sel
                }

                if (!current.isShowNotify()){
                    current.setShowNotify(true);
                }else {
                    current.setShowNotify(false);
                }
            }
        });
    }
    public void setPref(SharedPreferences pref){

    }

    @Override
    public long getItemId(int position) {
        return super.getItemId(position);
    }

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    @Override
    public void setHasStableIds(boolean hasStableIds) {
        super.setHasStableIds(hasStableIds);
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder {
        CheckBox title;

        MyViewHolder(View itemView) {
            super(itemView);
            title = (CheckBox) itemView.findViewById(R.id.title);
        }
    }
}

我想我必须在这做一些事情,这就是为什么我只发布这个课程。 我也有 FragmentDrawer 类,但我认为我需要先在这里做一些事情,我无法使用 sharedpreferences 请帮忙

1 个答案:

答案 0 :(得分:0)

使用数组中的已检查数据将其保存在gragment抽屉中的某些共享优先级中,您需要检查该数组是否可用,如果可用,则在复选框中填充响应

SharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor=prefs1.edit();
    editor.putString("","");
editor.commit();
// according to your need what you need to store .

    prefs1.getString("","");
// now get the stored content with this when you need to populate the data

/////////////////////////////////////////////// /////////////////////////把它放在ONCHECKCHANGED //////////////

Fragmentdrawer fd=new FragmentDrawer();
fd.somemethod(position,ischecked,context);

并在片段抽屉中使用它来获取片段抽屉中的位置