我通过点击按钮向RecyclerView添加视图,我希望保存这些视图,最好是在SharedPrefrences中我们如何做到这一点,我们需要一个json吗?
以下是适配器:
public class SubjectsAdapter extends RecyclerView.Adapter<SubjectsAdapter.ViewHolder> {
public List<String> items = new ArrayList<>();
public Activity mcontext;
public SubjectsAdapter(Activity context) {
this.mcontext=context;
}
public void addItem(String name) {
items.add(name);
notifyItemInserted(items.size() - 1);
}
public void removeItem(int position) {
items.remove(position);
notifyItemRemoved(position);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.grid_item_button, parent, false);
view.requestFocus();
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return items.size();
}
static int i = 100;
static int h = 1000;
public EditText EditName;
class ViewHolder extends RecyclerView.ViewHolder{
public Button GridButton;
private TextView ClassName;
public SharedPreferences prefs;
public ViewHolder(View itemView) {
super(itemView);
GridButton = (Button) itemView.findViewById(R.id.grid_button);
EditName = (EditText) itemView.findViewById(R.id.editName);
ClassName = (TextView) itemView.findViewById(R.id.ClassName);
prefs = mcontext.getPreferences(Context.MODE_PRIVATE);
GridButton.setId(++i);
GridButton.setText(prefs.getString("key", i + ""));
EditName.requestFocus();
}
}
}
我正在添加活动中的观看内容,例如adapter.addItem("something");
答案 0 :(得分:0)
你不能&#39;在SharedPreference中存储视图,但您可以存储textview的值。
pref = getSharedPreferences(prefName, Context.MODE_PRIVATE);
SharedPreferences.Editor ed;
ed = pref.edit();
ed.putString(prefKey2, textView.getText().toString()).commit();
然后您可以将存储的值设置为textview
textView.setText(pref.getString(prefKey2, ""));