0
RecyclerViewにボタンをクリックしてビューを追加しています。これらのビューをSharedPrefrencesに保存したいのですが、これはどうすればjsonが必要ですか? ?ここで Android:RecyclerViewでSharedPrefsで追加されたビューを保存する
アダプタです:
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();
}
}
}
私はあなたがSharedPreferenceの「ストアビューを傾けるこのadapter.addItem("something");
に格納された値を設定することができます私はのTextViewを保存することができますが、ビューが格納されていない場合は、すべて保存する必要が –
を格納するための一切のTextViewは存在しませんすべてのビューを再作成します。 – MrRobot9
すべてのビューを再作成することはどういう意味ですか? –