У меня проблема с передачей ArrayList<String>
между Class
и Activity
. Я знаю, что могу использовать Intent
для передачи массива между Activities
, но я не знаю, как это сделать с Class
и Activities
. Пожалуйста, помогите
это мой класс
public class MultipleChoiceDialogFragment extends DialogFragment implements Serializable {
public interface onMultiChoiceListener{
void onPositiveButtonClicked(String[] list , ArrayList<String> selectedItemList);
void onNegativeButtonClicked()
;
}
onMultiChoiceListener mlistner;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
try {
mlistner = (onMultiChoiceListener) context;
} catch (Exception e) {
e.printStackTrace();
throw new ClassCastException(getActivity().toString()+"onMultiChoiceListener must implemented");
}
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final ArrayList<String> selectedItemList = new ArrayList<>();
// Intent i = new Intent(getContext(),MultipleChoiceDialogFragment.class);
// i.putStringArrayListExtra("arrayfinal",selectedItemList);
AlertDialog.Builder mbuilder = new AlertDialog.Builder(getActivity());
final String[] list = getActivity().getResources().getStringArray(R.array.selectableRole);
mbuilder.setTitle("Chose Role").setMultiChoiceItems(list, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int i, boolean b) {
if (b){
selectedItemList.add(list[i]);
}else {
selectedItemList.remove(list[i]);
}
}
})
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
mlistner.onPositiveButtonClicked(list, selectedItemList);
}
})
.setNegativeButton("Dismiss", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mlistner.onNegativeButtonClicked();
}
});
return mbuilder.create();
}
}
Я хочу использовать окончательный список в другой деятельности