我制作了导航抽屉,并在抽屉物品中使用 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 请帮忙
答案 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);
并在片段抽屉中使用它来获取片段抽屉中的位置