Прямо сейчас у меня есть метод для моего адаптера просмотра повторного использования, где, если элемент проверен, телефонный номер, содержащийся в этом элементе, будет использоваться в другой деятельности. Что мне интересно, так это если я выберу несколько элементов, как мне получить массив этих числовых текстовых представлений и добавить их к разделяемой настройке, чтобы затем использовать в другом действии. Вот мой адаптер, где я могу выбрать элемент, и число добавляется в строку:
adapter1 = new FirebaseRecyclerAdapter<contact, contactAdapter>(options1) {
@Override
protected void onBindViewHolder(@NonNull final contactAdapter holder, final int position, @NonNull final contact model) {
holder.contactName.setText(model.getContactName());
holder.contactPhone.setText(model.getContactPhone());
SharedPreferences prefs = Home.this.getActivity().getSharedPreferences("check", MODE_PRIVATE);
String check_state = prefs.getString( "state", "default");
if(check_state.equals("true"){
holder.chk.setChecked(true);
}
else {
holder.chk.setChecked(false);
}
holder.chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
holder.chk.setChecked(true);
for (int i = 0; i < adapter1.getItemCount(); i++) {
if (adapter1.getItem(i).isSelected(true)) {
number = ((TextView) holder.itemView.findViewById(R.id.contactPhone)).getText().toString();
Toast.makeText(getActivity(), "Data Inserted....." + number, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Error", Toast.LENGTH_LONG).show();
}
}
SharedPreferences.Editor editor = Home.this.getActivity().getSharedPreferences("check", MODE_PRIVATE).edit();
editor.putString("state", "true");
editor.putString("number", number);
editor.apply();
adapter1.notifyDataSetChanged();
}else {
holder.chk.setChecked(false);
SharedPreferences.Editor editor = Home.this.getActivity().getSharedPreferences("check", MODE_PRIVATE).edit();
editor.putString("state", "false");
editor.apply();
adapter1.notifyDataSetChanged();
}
}
});
}
Как вы можете видеть, я сохраняю число в строку и помещаю число в предпочтение общего ресурса, которое похоже на работу. Любые предложения о том, как сделать это с массивом?